Как перенаправить URL-адрес с вложенного сайта в карандашный синий?
Я бы хотел 301
перенаправить URL-адреса с предыдущего сайта, которые являются вложенными, так как карандашный синий не поддерживает их,
например, а / б на страницу / б
Для этого я экспериментировал в include / http / request_handler.js, но столкнулся с некоторыми проблемами.
Вызов никогда не происходит внутри RequestHandler.prototype.handleRequest или даже RequestHandler.prototype.onSessionRetrieved (кажется, эти методы нигде не вызываются)
Поэтому я поместил код в RequestHandler и после подтверждения, что req не для публичного ресурса или API, я создаю новый URL-адрес и выполняю
return this.doRedirect(newUrl, 301)
Это на самом деле работает, но в то же время я получаю
Не удается отобразить заголовки после отправки ошибки
#1075 не сильно мне помог, так как я не уверен, какой именно контроллер мне следует изменить. Мне нужно поймать запрос как можно раньше и посмотреть, если это страница, а затем перенаправить на страницу с префиксом URL.
Заранее спасибо.
1 ответ
Есть несколько способов сделать переадресацию. Вы можете сделать их из контроллера или из промежуточного программного обеспечения. Вы правы в этом, некоторые функции в обработчике запросов не вызываются. Они устарели, несмотря на то, что команда карандашистов не пометила их как таковые. Они заменили большую часть функциональности обработчика запросов /include/http/router.js
а также include/http/middleware/index.js
, Плагины могут зарегистрировать свое собственное промежуточное программное обеспечение для захвата конвейера запросов.
Посмотрите Advanced Routing на вики для получения дополнительной информации о создании вашего собственного промежуточного программного обеспечения.
Используя инфраструктуру маршрутизации, ваш плагин сможет зарегистрировать промежуточное программное обеспечение, которое сможет проверять запрос, а затем перенаправлять на основе ваших конкретных критериев. Маршрутизатор будет доступен из req.router, а оттуда вы можете вызвать req.router.redirect ( Source).
Ссылка: # 1224