get в чпу
Всем привет!
На сайте в корне имеются дочерние ресурсы, например с актерами.
На этих досерних реурсах выводится свой контент.
Стоит задача вывести другой контент при передаче определенного get-параметра, но в урл нужно данный запрос преобразить в чпу.
Например — domain.ru/actor/?genre=comedy => domain.ru/actor/comedy/
Сервер работает на nginx
Заранее благодарю за помошь!
На сайте в корне имеются дочерние ресурсы, например с актерами.
На этих досерних реурсах выводится свой контент.
Стоит задача вывести другой контент при передаче определенного get-параметра, но в урл нужно данный запрос преобразить в чпу.
Например — domain.ru/actor/?genre=comedy => domain.ru/actor/comedy/
Сервер работает на nginx
Заранее благодарю за помошь!
Комментарии: 6
Посмотрите в сторону компонента VirtualPage
VirtualPage не доступен с прошлого года. И на данный момент его нет в репозиториях. Читаем последние комментарии.
Да и нужно ли устанавливать компонент, если можно обойтись одним плагином на событии OnHandleRequest примерно с такой логикой:
1) Проверяем наличие get-параметра. Если нет, то ничего не делаем иначе редирект на нужный url (данные для формирования все есть).
2) Дальше (предположим, что значение get-параметра genre равно uri нужного ресурса) ищем нужный нам ресурс и если находим, то делаем sendForvard, иначе ничего не делаем и получаем 404.
К сожалению пример есть только кода вынесенного в отдельный класс и в плагине вызывается только метод события. Да и в самих методах куча другой логики. Поэтому без примера…
Вот старенький пример от Василия со всеми пояснениями.
Да и нужно ли устанавливать компонент, если можно обойтись одним плагином на событии OnHandleRequest примерно с такой логикой:
1) Проверяем наличие get-параметра. Если нет, то ничего не делаем иначе редирект на нужный url (данные для формирования все есть).
2) Дальше (предположим, что значение get-параметра genre равно uri нужного ресурса) ищем нужный нам ресурс и если находим, то делаем sendForvard, иначе ничего не делаем и получаем 404.
К сожалению пример есть только кода вынесенного в отдельный класс и в плагине вызывается только метод события. Да и в самих методах куча другой логики. Поэтому без примера…
Вот старенький пример от Василия со всеми пояснениями.
Спасибо!
не знаю прав я или нет, но скажу сугубо свое мнение.
Если данные сайт собираются продвигать, та такой способ отдачи страниц через редирект сведет все будущее сео на нет.
В целом Максим написал вам правильный ответ на ваш вопрос, далее уже вы сами должны понимать ответственность за его использование.
Если данные сайт собираются продвигать, та такой способ отдачи страниц через редирект сведет все будущее сео на нет.
В целом Максим написал вам правильный ответ на ваш вопрос, далее уже вы сами должны понимать ответственность за его использование.
Спасибо!
modstore.pro/packages/ecommerce/seofilter — можно взять на заметку, в купе с mSearch2 идеальный инструмент для фильтрации по методу GET.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.