이것은 상황이 복잡해질 수 있는 곳이며 원하는 결과를 얻기 위해 지시문을 정렬하는 방법을 신중하게 계획해야 합니다. 예를 들어 원래 위치 블록과 NGINX 다시 쓰기 규칙이 다시 작성된 URL과 일치하는 경우 NGINX는 루프에 들어가 기본 제공 한도까지 10배 이상 반복하여 다시 작성할 수 있습니다. 모든 세부 정보를 보려면 다시 쓰기 모듈에 대한 설명서를 참조하십시오. 앞서 언급했듯이 가능하면 반환 지시문을 대신 사용하는 것이 좋습니다. 간단한 HTML 페이지를 다른 URL로 다시 작성하는 것부터 시작하기 위해 몇 가지 재작성 규칙을 신속하게 확인해 보겠습니다. nginx로 후행 슬래시를 제거하는 방법에 대한 제안. 이전 예제와 마찬가지로 대체 문자열에서 $1을 사용하여 reg-ex의 첫 번째 괄호 () 내에 있는 모든 것을 캡처합니다. 이 경우 원래 들어오는 URL의 마지막 부분입니다. 페일세이프 접근 법은 proxy_pass를 사용하는 것입니다.

proxy_set_header 호스트 $host; 클라이언트에서 호스트 헤더를 전달하거나 proxy_set_header 호스트 example.com 사용하여 직접 설정하려는 경우 모든 프록시 요청을 기록하고 해당 클라이언트에게 새 URL을 사용하도록 구성을 업데이트하도록 요청하는 것이 좋습니다. break: 이 플래그는 현재 집합에서 다시 쓰기 지시문 처리를 중지합니다. 아파치를 웹 서버로 사용하고 있지만 Nginx로 전환하려는 경우 정의한 규칙 수에 따라 프로세스가 번거로울 수 있습니다. 이러한 규칙을 다시 작성하는 방법을 배우는 것은 익숙해지는 데 시간이 걸릴 수 있습니다. Nginx는 아파치에서 Nginx로 규칙 변환을 다시 작성하는 몇 가지 예를 제공합니다. 예를 들어 Apache에서 다음 다시 쓰기 규칙: 마지막으로 다시 쓰기 지시문이 반환처럼 NGINX의 요청 처리를 반드시 중단하지는 않으며 반드시 클라이언트로 리디렉션을 보낼 필요는 없습니다. NGINX가 처리를 중단하거나 리디렉션을 보내도록 플래그 또는 URL 구문으로 명시적으로 지정하지 않는 한, 전체 구성을 통해 다시 쓰기 모듈에 정의된 지시문(break, if, return, 다시 쓰기 및 설정)을 찾습니다. 순서대로 처리합니다. 다시 작성된 URL이 다시 쓰기 모듈의 후속 지시문과 일치하는 경우 NGINX는 다시 작성된 URL에서 표시된 작업을 수행합니다(종종 다시 작성).