위치 BLOCK 일치 규칙
#location
location block request url domain name ip/port , 。
location optional_modifier location_match { . . . }
location 수정자 와 연 결 된 location 는 다음 과 같이 해석 합 니 다.
=
요청 한 url 은 location 에서 지정 한 경로 와 엄 격 히 일치 해 야 합 니 다.
none
수정자 가 없 으 면 url 에 접두사 가 일치 합 니 다.
^~
가장 좋 은 비정규 표현 식 접두사 일치
~
대소 문자 민감 한 정규 일치
~*
대소 문자 가 민감 하지 않 은 정규 일치
\ # location 일치 규칙
· nginx 는 접두사 기반 의 모든 일치 성 을 검사 합 니 다. 완전한 요청 에 대해 nginx 는 모든 접두사 의 일치 성 을 검사 합 니 다.
· 우선, nginx 는 정확 한 일치 하 는 것 을 찾 을 것 입 니 다.= modifier 에 일치 하면 일치 가 즉시 종 료 됩 니 다. 이 location 은 이 요청 을 처리 하 는 것 을 선택 합 니 다.
· 정확 한 일치 (= modifier) 가 없 으 면 nginx 는 접두사 매 칭 을 계속 하고 주어진 url 에 대해 가장 긴 접 두 사 를 선택 하 십시오.그리고 다음 규칙 에 따라 계속 일치 합 니 다.
· 가장 긴 접두사 가 일치 하면 (^ ~ modifier) nginx 는 검색 을 즉시 끝내 고 이 location 을 선택 합 니 다.
· ^ ~ modifier 가 없 으 면 검색 을 계속 할 수 있 도록 잠시 저 장 됩 니 다.
· 가장 긴 일치 가 저장 되면 nginx 는 정규 표현 식 과 계속 일치 합 니 다.nginx 는 location list 의 맨 위로 이동 한 다음 정규 표현 식 과 일치 하려 고 합 니 다. 첫 번 째 일치 하 는 정규 표현 식 은 즉시 처리 요청 을 선택 하여 일치 하 는 것 을 끝 냅 니 다.
· 정규 표현 식 이 일치 하지 않 으 면 이전에 저 장 된 최 장 location 이 요청 을 처리 하 는 데 사 용 됩 니 다.
특히 이해 해 야 할 것:
nginx 정규 일치 결 과 는 접두사 일치 보다 우선 합 니 다.하지만 접두사 가 먼저 일치 하 는 동시에 ^ ~ 와 = 을 통 해 이러한 추 세 를 바 꿀 수 있 습 니 다.
접 두 사 는 일반적으로 가장 길 고 정확 한 매 칭 을 선택 하 며, 첫 번 째 매 칭 이 발견 되면 매 칭 이 종 료 됩 니 다.즉, 정규 일치 가 설정 파일 의 규칙 정의 위치 와 큰 관계 가 있다 는 것 이다.
\ # location 내부 점프 규칙
· index 명령 어
정확 한 결과 가 디 렉 터 리 라면 다른 location 으로 redirect 를 요청 합 니 다.
/ exact 에 정확하게 일치 하도록 요청 하면 이 location 은 index directive 를 기본적으로 계승 한 다음 내부 에서 두 번 째 location 으로 이동 합 니 다.
index index.html;
location = /exact {
}
location / {
}
· try_files
nginx , 。 url, nginx 。
root /var/www/main;
location / {
try_files $uri $uri.html $uri/ /fallback/index.html;
}
location /fallback {
root /var/www/another;
}
이 예 에서 요청 한 이름 이 / neojos 라면 nginx 는 root 에서 neojos 라 는 파일 을 찾 습 니 다. 찾 지 못 하면 neojos. html 파일 을 찾 습 니 다. 마지막 으로 root 에 neojos / 디 렉 터 리 가 존재 하 는 지 찾 습 니 다.모든 검색 에 실패 하면 / fallback / index. html 로 이동 하여 아래 location 처 리 를 촉발 합 니 다.
· rewrite
rewrite , last ,nginx rewrite , location 。
root /var/www/main;
location / {
rewrite ^/rewriteme/(.*)$ /$1 last;
try_files $uri $uri.html $uri/ /fallback/index.html;
}
location /fallback {
root /var/www/another;
}
요청 이 / rewriteme / hello 라면 첫 번 째 location 에서 / hello 로 재 작성 합 니 다.그리고 첫 번 째 location 의 tryfiles 처리, 찾 지 못 하면 / fallback / index. html 로 돌아 가 두 번 째 location 으로 처 리 됩 니 다.
·error_page
301 302 code , return directive , 。rewrite redirect permanent , location search , 。
error_page directive , try_files。 try_files , error_page 。
root /var/www/main;
location / {
error_page 404 /another/whoops.html;
}
location /another {
root /var/www;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.