仅当params不存在时redirectNginx

这是我在Nginxredirect的要求 –

Redirect Example 1. www.example.com/gaming.html -> www.example.com/gaming-zone.html No Redirect example (when params are present, dont redirect) 2. www.example.com/gaming.html?name=foo -> www.example.com/gaming.html?name=foo 

我有一个非常简单的redirect设置 –

 rewrite ^/gaming.html$ /gaming-zone.html redirect; 

满足示例1,但也redirect示例2。 有人可以请分享如何修复规则,以便包含参数的URL不redirect?

这似乎并没有试图至less试图获得信息….

根据nginx的http核心模块文档 。 您可以使用$ is_args或$ args或$ arg_name。

因此,您可以简单地使用以下行:

 if($is_args = ""){ rewrite ^/gaming.html$ /gaming-zone.html redirect; } 

由于您希望第二个url不能更改,因此无需对该url进行任何操作。