nginx用URL重写部分url? mark
我正在为一个网站提供nginx作为apache的代理。 我有重写模块的问题。nginx用URL重写部分url? mark
http://example.com/foo/bar/url?someparam=1&otherparam=2
我需要从
/富/酒吧/ URL?someparam = 1 & otherparam = 2
到
/富/酒吧/ URL2重写?someparam = 1 & otherparam = 2
我发现它有问题,因为它不是/foo/bar/url/someparam
,但它只是文本的一部分,我需要在动态url中重写。
我正在尝试: rewrite ^(.*)url(.*)$ $1url2$2;
但我得到了错误500。
我该怎么做?
回答:
在您的rewrite
语句中,新URI也与正则表达式模式匹配。这将导致以500响应结束的重定向循环。
您需要使正则表达式更加具体,以便新的URI不匹配。
另外,nginx
在处理rewrite
语句时使用规范化URI,该语句不包括?
及其后的查询字符串。
rewrite ^(.*)url$ $1url1;
的rewrite
指令将自动附加在原有的URI任何?
和查询字符串:那么如下的语句可以简化。
查看this document了解更多。
这个URI
以上是 nginx用URL重写部分url? mark 的全部内容, 来源链接: utcz.com/qa/266828.html