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