我试图根据传递的参数redirect页面。
我想redirect
重写^ / join_trial到/ test? 常驻;
和
重写^ / join_trial?discount = free(。*)/ test2? 常驻;
第一个工作,但第二个不工作。 看起来nginx不需要(。*)正则expression式。
对于第一个,下面的案例工作。
/ join_trial?testing= AAAAA
/ join_trial?923849 = AAA
基本上,你可以把任何东西放在/ join_trial之后 。
我想在用户追加时有一个redirect?discount = free (任何东西都在这里)。
这可能与Nginx?
查询string在rewrite根本无法匹配。 所以你需要直接检查参数。
例如:
if ($arg_discount ~ ^free) { rewrite ^/join_trial /test2? permanent; } rewrite ^/join_trial /test? permanent;
我怀疑你真的不想发送301redirect,因为用户将在地址栏中看到/test或/test2 。 也许你真的只是在内部处理这些URL? 在这种情况下, permanent变更为last 。