break 는 rewrite 단계 에서 벗 어 나 일치 하지 않 고 출력 단계 에 들 어 갑 니 다.last 는 재 요청 과 유사 하기 때문에 다시 일치 합 니 다.
2. 우 리 는 nginx 운행 이 11 개의 집행 단계 로 나 뉘 는 것 을 알 고 있 습 니 다. 위 에서 언급 한 ngxhttp_rewrite_mode, 그 중의 한 단계 - rewrite 단계 로 이해 할 수 있 습 니 다.
typedef enum {
NGX_HTTP_POST_READ_PHASE = 0,
NGX_HTTP_SERVER_REWRITE_PHASE,
NGX_HTTP_FIND_CONFIG_PHASE,
NGX_HTTP_REWRITE_PHASE, //rewrite
NGX_HTTP_POST_REWRITE_PHASE,
NGX_HTTP_PREACCESS_PHASE,
NGX_HTTP_ACCESS_PHASE,
NGX_HTTP_POST_ACCESS_PHASE,
NGX_HTTP_TRY_FILES_PHASE,
NGX_HTTP_CONTENT_PHASE,
NGX_HTTP_LOG_PHASE
} ngx_http_phases;
그래서 우 리 는 last 와 break 의 차 이 를 다시 이해 합 니 다. last: 현재 이 요청 을 중단 하고 rewrite 에 맞 는 규칙 에 따라 다시 요청 합 니 다.새 요청 은 첫 번 째 단계 부터 실 행 됩 니 다. break: last 에 비해 break 는 요청 을 다시 시작 하지 않 습 니 다. 현재 rewrite 단 계 를 건 너 뛰 고 이 요청 의 후속 실행 단 계 를 수행 합 니 다.
3. 우 리 는 예 를 하나 보 자.
server {
listen 80 default_server;
server_name dcshi.com;
root www;
location /break/ {
rewrite ^/break/(.*) /test/$1 break;
echo "break page";
}
location /last/ {
rewrite ^/last/(.*) /test/$1 last;
echo "last page";
}
location /test/ {
echo "test page";
}
}
:http://dcshi.com/break/***
: break page
: ,break rewrite , , , /foo content echo “break page”;
(content , , content ;echo content ;
/break/ echo , /break/xx 404, : /break/xx /test/xx, break , nginx /test/ location;
echo ,/break/ location nginx content , /test/xx html , , , 404 。
참고:https://www.cnblogs.com/swing07/p/5381772.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.