매개변수가 없는 경우에만 Nginx 리디렉션

매개변수가 없는 경우에만 Nginx 리디렉션

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에 대해 아무 작업도 수행할 필요가 없습니다.

관련 정보