URL 재 작성 및 리디렉션에 대한 nginx 구성에는 일반적으로 /etc/nginx/
에 위치한 nginx 구성 파일을 수정하는 것이 포함됩니다. URL 재 작성 및 리디렉션을 설정하려면 rewrite
지시문 및 return
지시문을 사용해야합니다. 다음은 수행 방법에 대한 단계별 안내서입니다.
/etc/nginx/nginx.conf
에 있거나 sites-available
디렉토리의 특정 사이트 구성 파일에 있습니다. 다시 작성하려면 rewrite
지시문을 사용하십시오 : rewrite
지시문은 URL을 다시 작성하는 데 사용됩니다. 기본 구문은 rewrite regex replacement [flag]
입니다. 예를 들어, /old-url
에서 /new-url
에서 모든 요청을 다시 작성하려면 다음을 사용합니다.
<code class="nginx">rewrite ^/old-url/?$ /new-url permanent;</code>
permanent
플래그는 영구 리디렉션을 나타내는 301 상태 코드를 반환합니다.
리디렉션에 대한 return
지침을 사용하십시오. return
지시문을 사용하여 HTTP 상태 코드를 반환하고 선택적으로 URL을 반환 할 수 있습니다. 예를 들어, /old-url
에서 https://example.com/new-url
로 모든 요청을 리디렉션하려면 다음을 사용할 수 있습니다.
<code class="nginx">location /old-url { return 301 https://example.com/new-url; }</code>
구성 테스트 : 구성을 수정 한 후 NGINX를 다시로드하거나 다시 시작하기 전에 오류 구성을 테스트하는 것이 중요합니다.
<code class="sh">sudo nginx -t</code>
Reload Nginx : 테스트가 성공하면 Nginx를 다시로드하여 변경 사항을 적용하십시오.
<code class="sh">sudo systemctl reload nginx</code>
NGINX에서 URL 리디렉션을 설정하면 효과적이고 효율적으로 몇 가지 모범 사례가 필요합니다.
permanent
플래그 ( 301
상태 코드)를 사용하여 변경되지 않을 것입니다. 임시 리디렉션에는 redirect
플래그 ( 302
상태 코드)를 사용하십시오.curl
또는 온라인 리디렉션 체커와 같은 도구로 항상 리디렉션을 테스트하여 의도 한대로 작동하는지 확인하십시오.Nginx URL 재 작성 규칙 테스트는 예상대로 작동하는지 확인하기 위해 중요합니다. 다음은 Nginx URL 재 작성 규칙을 테스트하는 몇 가지 방법입니다.
curl
사용 : curl
명령 줄 도구를 사용하여 리디렉션을 테스트 할 수 있습니다. 예를 들어, /old-url
에서 /new-url
에서 리디렉션을 테스트하려면 다음을 사용할 수 있습니다.
<code class="sh">curl -I http://example.com/old-url</code>
응답에서 Location
헤더를 찾아 /new-url
로 올바르게 리디렉션하는지 확인하십시오.
Redirect Checker
또는 Httpstatus.io
와 같은 웹 사이트를 사용하여 외부 소스에서 리디렉션 및 URL 재 작성을 테스트 할 수 있습니다.로깅 및 액세스 로그 : NGINX의 자세한 로깅을 통해 실제 요청 및 응답 헤더를 볼 수 있습니다. 보다 자세한 로깅을 활성화하려면 서버 블록에 다음을 추가하십시오.
<code class="nginx">access_log /var/log/nginx/access.log combined;</code>
그런 다음 로그를 검사하여 다시 쓰기 및 리디렉션 동작을 확인하십시오.
Nginx에서 URL 재 작성을 구성 할 때는 구성의 효과와 신뢰성을 보장하기 위해 일반적인 실수를 피하는 것이 중요합니다.
쿼리 매개 변수 무시 : 쿼리 매개 변수를 올바르게 처리하지 않으면 데이터 손실 또는 잘못된 리디렉션이 발생할 수 있습니다. 예를 들어, 다시 쓰기 /old-url?param=value
인 경우 쿼리 문자열에 대해 다시 쓰기 규칙이 다음을 설명하십시오.
<code class="nginx">rewrite ^/old-url/?$ /new-url? permanent;</code>
permanent
또는 redirect
같은 플래그를 잘못 사용하면 잘못된 HTTP 상태 코드가 발생할 수 있습니다. 리디렉션이 임시인지 영구적인지 여부를 기준으로 사용하는 플래그를 항상 두 번 확인하십시오.(?i)
플래그를 사용해야합니다.이러한 일반적인 함정을 알고 모범 사례를 따르면 NGINX에서 URL 재 작성 및 리디렉션을보다 효과적으로 관리 할 수 있습니다.
위 내용은 URL 재 작성 및 리디렉션에 대한 nginx를 어떻게 구성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!