如何将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