웹사이트 검색

Apache의 한 서버에서 다른 서버로 웹 사이트 URL 리디렉션


이전 두 기사(mod_rewrite를 사용하여 내부 리디렉션 수행 및 브라우저 기반 사용자 정의 콘텐츠 표시)에서 약속한 대로 이 게시물에서는 Apache의 한 서버에서 다른 서버로 이동된 리소스에 대한 리디렉션을 수행하는 방법을 설명합니다. mod_rewrite 모듈.

회사의 인트라넷 사이트를 재설계한다고 가정해 보겠습니다. 콘텐츠와 스타일(HTML 파일, JavaScriptCSS)을 한 서버에 저장하고 문서를 다른 서버에 저장하기로 결정했습니다. 더 견고한 것.

권장 읽기: Apache 웹 서버 성능을 향상시키는 5가지 팁

그러나 이러한 변경 사항이 사용자에게 투명하게 나타나서 사용자가 여전히 일반 URL에서 문서에 액세스할 수 있기를 원합니다.

다음 예에서는 assets.pdf라는 파일이 192.168.0.100/var/www/html에서 이동되었습니다(호스트 이름: < Strong>웹)을 192.168.0.101(호스트 이름: web2)의 동일한 위치에 복사합니다.

사용자가 192.168.0.100/assets.pdf를 탐색할 때 이 파일에 액세스하려면 192.168.0.100에서 Apache의 구성 파일을 열고 다음 재작성 규칙을 추가하십시오(또는 .htaccess 파일에 다음 규칙을 추가할 수도 있습니다.

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

여기서 $1는 괄호 안의 정규식과 일치하는 항목에 대한 자리 표시자입니다.

이제 변경 사항을 저장하고 Apache를 다시 시작하는 것을 잊지 마세요. 192.168.0.100/assets.pdf를 탐색하여 assets.pdf에 액세스하려고 하면 어떤 일이 발생하는지 살펴보겠습니다.

권장 읽기: 웹사이트에 유용한 '.htaccess' 요령 25가지

아래 위의 내용에서 192.168.0.100assets.pdf에 대한 요청이 실제로 192.168.0.101에 의해 처리되었음을 알 수 있습니다.

tail -n 1 /var/log/apache2/access.log

이 문서에서는 다른 서버로 이동된 리소스로 리디렉션을 수행하는 방법에 대해 설명했습니다. 마무리하려면 나중에 참조할 수 있도록 mod_rewrite 가이드와 Apache 리디렉션 가이드를 살펴보는 것이 좋습니다.

언제나 그렇듯이, 이 기사에 대해 우려 사항이 있으면 아래 의견 양식을 자유롭게 사용하십시오. 여러분의 의견을 기다리겠습니다!