Подскажите, как правильно задать условия для ngx_http_rewrite_module.
Условия заданы по порядку, причем при первом соответствии нужно прекратить дальнейший поиск и сделать редирект (url может подходить под несколько условий).
в апачевском .htaccess это делалось ключем [L]. Как это сделать в nginx?
пример:
server {
listen 80;
server_name ololo.ru;
root /home/ololo/www/site;
index index.php;
if ($uri !~"^/design") {
rewrite ^([a-z\d_\(\)\.:]+)/price(/|)$ /index.php?page=page1&name=$1;
}
if ($uri !~ "^/(design/|data/|cache/|.*\.php|.*\.txt|.*\.xml|.*\.html|.*\.htm?)") {
rewrite ^/([a-z\d_\(\)\.:]+)(/|)$ /index.php?page=page2&name=$1;
}
if ($uri !~ "^/(design/|data/|cache/|.*\.php|.*\.txt|.*\.xml|.*\.html?)") {
rewrite ^/([a-z\d_\(\)\.:]+)/([a-z\d_\(\)\.:]+)((/|)|/(\d+))$ /index.php?page=page3§ion_name=$2&root_name=$1&cp=$5;
}
}
И еще - после внесения изменений нужно ребутать сервер полностью, или service nginx reload достаточно?