Назад | Перейти на главную страницу

Nginx перезаписывает часть URL

Я пытаюсь выполнить перенаправление с 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