Ответ 1
Эти правила перезаписи заставили скрипты работать:
rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
Я хочу преобразовать следующее правило 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.
Эти правила перезаписи заставили скрипты работать:
rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
QSA автоматически работает в NGINX.
Если вы этого не хотите, добавьте? до конца вашего нового местоположения
переписать ^/foo/bar/index.php? последний;