Nginx에서 쿼리 문자열로 리디렉션하는 방법

Nginx에서 쿼리 문자열로 리디렉션하는 방법

리디렉션하고 싶습니다:

something.com/search?keywords='value'

에게

something.com/search?q='value'

내 Nginx 구성은 다음과 같습니다.

location ~ /search {
       if ($args ~* "keywords=(.*)") {
            rewrite ^.*$ /search?q=$arg_keywords permanent;
        }
    }

그러나 q리디렉션 시 매개변수는 비어 있습니다.

뭐가 잘못 되었 니?

답변1

그러나 리디렉션 시 q 매개변수는 비어 있습니다.

나는 그 문제를 보지 못한다. 작성된 대로 구성을 테스트하면 원본이 keywords='value'다시 작성된 URI에 추가되기 때문에 리디렉션 루프가 생성됩니다.

다시 작성된 URI에 rewrite를 추가하면 원래 매개변수가 포함되지 않도록 할 수 있습니다 .?

예를 들어:

rewrite ^ /search?q=$arg_keywords? permanent;

보다이 문서자세한 내용은.

관련 정보