Помогите разобраться с конструкцией перенаправления
eximer
nginx-forum at nginx.us
Tue Feb 17 08:04:04 UTC 2015
Здравствуйте, помогите пож-ста разобраться с конфигурацией.
Описание:
Нужно все адреса передавать скрипту index.php в параметре link, при этом
если адрес начинается на rus|de|frn|eng то передавать этот префикс в
параметре lang.
И в link, и в lang нужно передавать параметры без стартового /. Если
(rus|de|frn|eng) отсутствуют в lang ничего не передавать.
Например:
1. http://example.org/eng/about
$request_key = about
$request_lang = eng
2. http://example.org/about
$request_key = about
$request_lang =
Текущая конфигурация сайта:
map $request_uri $request_key {
default "";
~^/(?P<key>.+)$ $key;
}
server {
location / {
try_files $uri $uri/ /index.php?lang=&link=$request_key;
}
location ~* ^/(rus|de|frn|eng)/ {
try_files $uri $uri/ /index.php?lang=$request_lang&link=$request_key;
}
location ~ \.php$ {
fastcgi_pass fpm;
include fastcgi_params;
fastcgi_index index.php;
}
}
p.s. Сейчас в request_key передается весь url (без стартового слеша).
Не могу понять, как отпарсить и передать в request_lang параметр
rus|de|frn|eng (если таковой присутствует),
при этом в request_key передать все остальное.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256711,256711#msg-256711
Подробная информация о списке рассылки nginx-ru