我希望将以下 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?最后;

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top