nginx 정규 규칙
5120 단어 Linux
패턴
속뜻
location = /uri
= 정확하게 일치 함 을 나타 내 며, 완전히 일치 해야만 유효 함
location ^~ /uri
^ ~ 처음 URL 경 로 를 접두사 로 일치 시 키 고 정규 전에.
location ~ pattern
첫머리 는 대소 문 자 를 구분 하 는 정규 일치 를 나타 낸다
location ~* pattern
대소 문 자 를 구분 하지 않 는 정규 일치
location /uri
수정자 가 없 으 면 접두사 가 일치 하지만 정규 가 일치 하면
location /
일반적인 일치, 다른 location 에 일치 하지 않 는 모든 요청 이 일치 합 니 다.
여러 location 설정 의 경우 일치 하 는 순 서 는 (참고 자료 에서 왔 습 니 다. 아직 실제 검증 되 지 않 았 습 니 다. 해 보면 알 수 있 습 니 다. 구 애 받 지 않 고 참고 만 하 십시오) 입 니 다.
우선 정확하게 일치 합 니 다.
=
다음 접두사 일치
^~
그 다음은 파일 의 순서 에 따라 정규 일치 그리고 아무런 수식 이 없 는 접두사 와 일치 합 니 다.
마지막 으로 맡 기 겠 습 니 다.
/
공통 일치 매 칭 성공 시 매 칭 을 중단 하고 현재 매 칭 규칙 에 따라 요청 을 처리 합 니 다 메모: 접두사 가 일치 합 니 다. 관 계 를 포함 할 때 최대 일치 원칙 에 따라 일치 합 니 다.예 를 들 어 접두사 일치: location /dir01
요청 이 있 으 면 location /dir01/dir02
최종 일치 http://localhost/dir01/dir02/file
location /dir01/dir02
:
location = / {
echo " A";
}
location = /login {
echo " B";
}
location ^~ /static/ {
echo " C";
}
location ^~ /static/files {
echo " X";
}
location ~ \.(gif|jpg|png|js|css)$ {
echo " D";
}
location ~* \.png$ {
echo " E";
}
location /img {
echo " Y";
}
location / {
echo " F";
}
그러면 발생 하 는 효 과 는 다음 과 같다.
루트 디 렉 터 리 에 접근
, 예 를 들 면 /
일치 http://localhost/
방문 하 다.
A
일치 http://localhost/login
, B
일치 하 다 http://localhost/register
방문 하 다.
F
일치 http://localhost/static/a.html
방문 하 다.
C
일치 http://localhost/static/files/a.exe
, 비록 X
일치 할 수도 있 지만 최대 일치 원칙 으로 최종 선택 되 었 습 니 다. C
。규칙 X 를 제거 하면 현재 URL 이 일치 하 는 지 테스트 할 수 있 습 니 다. X
。 방문 하 다.
C
, http://localhost/a.gif
일치 http://localhost/b.jpg
화해시키다 D
,그러나. E
순서 우선, D
소 용이 없다 E
우선 순위 http://localhost/static/c.png
방문 하 다.
C
일치 하 다 http://localhost/a.PNG
,일치 하지 않 습 니 다. E
,... 때문에 D
대소 문 자 를 구분 하지 않다. 방문 하 다.
E
일치 합 니 다. http://localhost/img/a.gif
, 비록 D
일치 할 수도 있 지만 정규 일치 가 우선 이기 때문에 무시 합 니 다. Y
。 방문 하 다.
Y
일치 합 니 다. http://localhost/img/a.tiff
。 방문 하 다.
Y
규칙 F 에 최종 적 으로 일치 합 니 다. 상기 규칙 이 일치 하지 않 기 때문에 이 때 는 Nginx 리 트 윗 요청 이 백 엔 드 응용 서버 에 있어 야 합 니 다. 예 를 들 어 FastCGI (phop), tomcat (jsp), Nginx 는 리 버스 프 록 시 서버 로 존재 합 니 다.# , , , 。
# ,
#
location = / {
proxy_pass http://tomcat:8080/index
}
# , nginx http
# , ,
location ^~ /static/ {
root /webroot/static/;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root /webroot/res/;
}
# ,
# ,
# , .php、.jsp
location / {
proxy_pass http://tomcat:8080/
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.