Я пытаюсь выполнить перенаправление с URL-адресов с идентификатором параметра на URL-адреса с параметром URL_key, который я назначил.
У меня есть таблица с двумя столбцами с идентификатором, который я хотел бы заменить, и URL_key в качестве замены.
11337 бар 11419 ресторан 11399 кафе 15477 живопись
Прямо сейчас у меня есть эти URL:
ifab.ru/art/kartiny/location/11399/style/15477
что я хотел бы перенаправить на:
ifab.ru/art/kartiny/location/cafe/style/painting
Вы можете сказать, что я могу просто взять все URL-адреса с веб-сайта и заменить их на replace, но они генерируются автоматически, и каждая комбинация может отличаться друг от друга, поэтому я хотел бы получить идентификатор и переписать его на URL_key.
Любые мысли и решения приветствуются.
Мы запускаем наш сервер на nginx, без apache.
Это должно работать:
map $loc $loc_text {
11337 bar;
11419 restaurant;
}
map $style $style_text {
15477 painting;
}
rewrite ^/art/kartiny/location/(?P<loc>\d+)/style/(?P<style>\d+)$
/art/kartiny/location/$loc_text/style/$style_text
redirect;
Смотрите также http://nginx.org/en/docs/http/server_names.html#regex_names