2017-12-27 22 views
1

아파치를위한 프록시로 nginx가있는 웹 사이트를 제공하고 있습니다. 모듈을 다시 쓰는 데 문제가 있습니다.nginx는 (는) URL의 일부를 다시 작성합니까? 표시

http://example.com/foo/bar/url?someparam=1&otherparam=2

나는

/foo는/바/URL? someparam = 1 & otherparam = 2

/foo는/바/

에 URL2에서 다시 작성해야? someparam = 1 & otherparam = 2

/foo/bar/url/someparam이 아니기 때문에 문제가있는 것으로 나타났습니다.하지만 텍스트의 일부일뿐입니다. 동적 URL을 다시 작성해야합니다.

나는 시도했다 : rewrite ^(.*)url(.*)$ $1url2$2;하지만 나는 그것에 500 오류가 나타납니다.

어떻게 할 수 있습니까?

답변

0

rewrite 문에서 새 URI는 정규 표현식 패턴과도 일치합니다. 이렇게하면 500 응답으로 끝나는 리디렉션 루프가 발생합니다.

새 URI가 일치하지 않도록 정규식을보다 구체적으로 지정해야합니다.

또한 nginxrewrite 문을 처리 할 때 ? 및 그 뒤에 오는 쿼리 문자열을 포함하지 않는 정규화 된 URI를 사용합니다.

rewrite ^(.*)url$ $1url1; 

rewrite 지시어는 자동으로 원래 URI의 모든 ? 및 쿼리 문자열을 추가합니다 다음과 같이 그래서 문을 단순화 할 수있다.

자세한 내용은 this document을 참조하십시오.

해당 URI가