재인쇄: Nginx의 rewrite 명령(break, last, Redirect, Permanent)
rewrite
서버 블록 아래에서는 rewrite 부분이 먼저 실행되고 그 다음 위치 블록을 일치시키려면
서버에서 rewrite break와 last 사이에는 차이가 없습니다. 따라서 새 요청을 시작하기 위해 last를 사용할 필요가 없습니다.
Rewirte in 위치:
마지막으로 작성하지 말고 중단하세요. 그런 다음 이러한 재작성을 순서대로 실행하는 것이 프로세스입니다.
1. rewrite break - URL을 다시 작성한 후에는 현재 리소스가 직접 사용되며 해당 위치에 있는 나머지 명령문은 더 이상 실행되지 않습니다. 이 요청은 완료되고 주소 표시줄의 URL은 변경되지 않은 상태로 유지됩니다.
2. 마지막 재작성 - URL이 재작성된 후 즉시 새 요청을 시작하고 서버 블록에 다시 들어가서 위치 일치를 10회 이상 실패하면 500 오류가 보고되고 주소 표시줄 URL이 표시됩니다. 변함없이 유지됩니다
3. 리디렉션 재작성 – 302 임시 리디렉션을 반환하고 주소 표시줄에 리디렉션된 URL이 표시되며 크롤러는 URL을 업데이트하지 않습니다(임시 URL이기 때문에)
4. 영구 재작성 - 301 영구 리디렉션을 반환하고 주소 표시줄에 리디렉션된 URL이 표시되며 크롤러가 URL을 업데이트합니다
마지막을 사용하면 서버 태그에 대한 요청이 다시 시작됩니다
위치에 다시 쓰기는 정적 리소스에 대한 요청의 경우 다른 매칭이 필요하지 않습니다. 일반적으로 중단 또는 쓰기 없음을 사용하며 현재 위치의 데이터 소스를 직접 사용하여 요청을 완료합니다
위치를 다시 작성한 후 동적 fastcgi 요청(.php, .jsp) 등과 같은 다른 처리를 수행해야 하는 경우 마지막을 사용하여 새 요청을 계속 시작해야 합니다.
(루트 위치는 last를 사용하는 것이 좋습니다. .php 등의 fastcgi 요청이 있으면 계속 처리되기 때문입니다.)
별명을 사용하여 소스 지정: last를 사용해야 합니다
if 문은 주로 파일, http 헤더, 쿠키 등의 존재 여부를 감지하는 등 rewrite 문에서 직접 일치할 수 없는 일부 조건을 확인하는 데 사용됩니다.
위치 일치 규칙 및 우선순위
break 문
은 서버 블록 다시 쓰기 문
앞에 배치됩니다.
실제 파일을 직접 요청하는 경우 break 문을 사용하여 다시 쓰기 검사를 중지하세요
if (-f $request_filename) {
휴식
}
위 내용은 관련 내용을 포함하여 Nginx의 rewrite 명령어 break, last, 리다이렉트, 영구를 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.