Как мне преобразовать mod_rewrite (опция QSA) в эквивалент Nginx? - PullRequest
11 голосов
/ 11 ноября 2008

Я хочу преобразовать следующее mod_rewrite правило в Nginx эквивалент :

RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]

Пока у меня есть:

rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;

Проблема в том (я думаю!), Что строка запроса не добавляется. Я не нашел способа перенести аргумент QSA в Nginx.

Ответы [ 2 ]

17 голосов
/ 04 января 2009

QSA является автоматическим в NGINX.

Если не хотите, добавьте? до конца вашего нового местоположения

переписать ^ / foo /bar/index.php? последний;

5 голосов
/ 12 ноября 2008

Эти правила перезаписи заставили скрипты работать:

rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...