2016-11-14 3 views
1

URL 경로의 장소 이름을 nginx의 검색어 문자열로 다시 작성하려고합니다. 나는 우리는 아파치와 함께 일을했다 ourdomain.com?d=london&some_key=valuenginx의 검색어 문자열 매개 변수에 URL 경로 매개 변수를 작성하십시오.

가 될 ourdomain.com/hotels/london?some_key=value 원하는

-

RewriteRule ^hotels/([^/]+)/?\??(.*)$ ?d=$1&$2 [QSA] 

그리고 우리가 현재 haProxy에 일을하는지는 (역방향 프록시 역할) -

reqrep ^([^\ :]*)\ /hotels/([^/\ \?]+)/?\??([^\ ]*)(.*)$  \1\ /?d=\2&\3\4 

nginx에서 어떻게 동일한 작업을 수행합니까?

답변

5

시도 뭔가 같은 :

rewrite ^/hotels/([^/]+)/?$ /?d=$1 permanent; 

nginx URI는 항상 최고의 / 있습니다. ? 및 쿼리 문자열은 정규화 된 URI의 일부가 아니지만 rewrite 지시문은 후행 ?이 없으면 자동으로 인수를 추가합니다.

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

관련 문제