2017-05-10 6 views
0

나는이 둘 사이에 끼 었어 :nginx에서 위치/{}와 위치/색인 {}을 구별하는 방법이 있습니까?

location/{ 
#proxy pass to some other location that handles all urls except /index 
} 
location /index { 
    #logic to handle the index 
} 

현재 내가 실행할 때의 nginx 첫

위치/ 블록이 실행됩니다 그리고 난 다른 컴퓨터로 리디렉션 및

위치/인덱스 이 아닌 호출되는 중입니다.이 둘을 구별 할 수있는 방법이 있습니까, 아니면 모든 위치를 구체적으로 작성해야합니다.

+1

위치를'얻을 희망 'example.com/index'와 같이 요청하면'/'위치가 실행됩니다 –

답변

1

예, 차이가 있습니다. 위치/{}가 모든 URL을 처리합니다. 위치/색인 {}을 (를) 입력하면 위치/{}가/색인을 제외한 모든 URL을 처리 함을 의미합니다.

도메인 URL (www.example.com)을 클릭하면이 위치/{} 블록이 URL을 처리하지만 도메인/색인을 조회하면 위치/색인 {} 블록이 URL을 처리합니다. 위치/색인까지라고 점점되지 않고는 도메인/지수 (www.example.com/index)을 공격하지 않는 한 당신이 할 경우에만

은/index`이 실행됩니다 당신이 당신의 대답

+0

! nginx는 가장 긴 매치 패턴을 먼저 집어 들고 경로가 해결되지 않으면 더 짧은 패턴을 찾습니다. – dev