
Вот мои требования к перенаправлению в 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
Похоже, вы даже не попытались хотя бы попытаться получить информацию...
Согласно основному модулю http nginxдокументация. Вы можете использовать либо $is_args, либо $args, либо $arg_name.
Поэтому вы можете просто использовать следующую строку:
if($is_args = ""){
rewrite ^/gaming.html$ /gaming-zone.html redirect;
}
Поскольку вы не хотите, чтобы второй URL-адрес менялся, нет необходимости что-либо делать с этим URL-адресом.