Apache의 한 서버에서 다른 서버로 웹 사이트 URL 리디렉션
이전 두 기사(mod_rewrite를 사용하여 내부 리디렉션 수행 및 브라우저 기반 사용자 정의 콘텐츠 표시)에서 약속한 대로 이 게시물에서는 Apache의 한 서버에서 다른 서버로 이동된 리소스에 대한 리디렉션을 수행하는 방법을 설명합니다. mod_rewrite 모듈.
회사의 인트라넷 사이트를 재설계한다고 가정해 보겠습니다. 콘텐츠와 스타일(HTML 파일, JavaScript 및 CSS)을 한 서버에 저장하고 문서를 다른 서버에 저장하기로 결정했습니다. 더 견고한 것.
권장 읽기: 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.100의 assets.pdf에 대한 요청이 실제로 192.168.0.101에 의해 처리되었음을 알 수 있습니다.
tail -n 1 /var/log/apache2/access.log
이 문서에서는 다른 서버로 이동된 리소스로 리디렉션을 수행하는 방법에 대해 설명했습니다. 마무리하려면 나중에 참조할 수 있도록 mod_rewrite 가이드와 Apache 리디렉션 가이드를 살펴보는 것이 좋습니다.
언제나 그렇듯이, 이 기사에 대해 우려 사항이 있으면 아래 의견 양식을 자유롭게 사용하십시오. 여러분의 의견을 기다리겠습니다!