我想检查 nginx 中的 url 中是否存在参数,然后重写。
我怎样才能做到这一点?
例如如果 url 是http://website.com/search/node/item123/loc=33然后重定向到http://website.com/search/node/item123
我的代码在这里但不起作用!
如果 ($arg_loc != "") { 重写 ^(/search/.*)$ $1? 永久; }
更新 : 我想重定向任何以以下结尾的 URLloc=数字到父级网址!阿拉伯语和英语字符
例如:
http://website.com/search/node/item123/loc=33
我想重定向到
http://website.com/search/node/item123/
或者
http://website.com/search/node/عربیک/loc=55
应该 :
http://website.com/search/node/عربیک
答案1
您的示例中没有查询参数。它只是一个 URL,因此您可以使用rewrite
。
类似这样的:
rewrite "^(/search/node/[^/]+)/loc=\d+$" $1 permanent;
PS 我强烈建议使用关键字redirect
而不是,permanent
直到您 1000% 确定重定向可以正常工作。