我正在尝试根据传递的参数重定向页面。
我想重定向
将 ^/join_trial 重写为 /test? 永恒的;
和
重写 ^/join_trial?discount=free(.*) /test2? 永恒的;
第一个有效,但第二个无效。看起来 nginx 不采用 (.*) 正则表达式。
对于第一个,以下情况有效。
/join_trial?test=aaaaa
/join_trial?923849=aaa
基本上,您可以在/join_trial之后放置任何内容。
我想在用户附加?discount=free时进行重定向(这里有任何内容)。
nginx可以做到这一点吗?
您根本无法匹配
rewrite
. 所以你需要直接检查参数。例如:
而且我怀疑你真的不想发送 301 重定向,因为用户会在他们的地址栏中看到
/test
或直接看到。/test2
也许您真的只想在内部处理这些 URL?在这种情况下更改permanent
为last
.