以下是我在 Nginx 中重定向的要求 -
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
我有一个非常简单的重定向设置 -
rewrite ^/gaming.html$ /gaming-zone.html redirect;
它满足示例 1 但也会重定向示例 2。有人可以分享如何修复规则,以便包含参数的 URL 不会被重定向吗?
答案1
看起来你至少没有尝试去获取信息……
根据 nginx http 核心模块文档。您可以使用 $is_args 或 $args 或 $arg_name。
因此您可以简单地使用以下行:
if($is_args = ""){
rewrite ^/gaming.html$ /gaming-zone.html redirect;
}
由于您希望第二个 url 不变,因此无需对该 url 进行任何操作。