Mod_rewrite를 사용하여 전체 사이트 리디렉션

Htaccess, mod_rewrite 및 Apache

웹 페이지가 이동합니다. 그것이 웹 개발의 사실입니다. 그리고 똑똑하다면 301 개의 리다이렉션 을 사용하여 링크 썩음을 방지하십시오. 그러나 전체 웹 사이트를 이동하면 어떻게됩니까? 사이트를 통해 모든 파일에 대해 리디렉션을 수동으로 작성할 수 있습니다. 그러나 그것은 오랜 시간이 걸릴 수 있습니다. 다행히 htaccess 와 mod_rewrite를 사용하여 몇 줄의 코드만으로 전체 웹 사이트를 리디렉션 할 수 있습니다.

mod_rewrite를 사용하여 사이트를 리디렉션하는 방법

  1. 기존 웹 서버의 루트에서 텍스트 편집기를 사용하여 새로운 .htaccess 파일을 편집하거나 작성하십시오.
  2. 줄 추가 : RewriteEngine ON
  3. 추가 : RewriteRule ^ (. *) $ http://newdomain.com/$1 [R = 301, L]

이 행은 이전 도메인에서 요청 된 모든 파일을 가져 와서 새 도메인의 URL에 동일한 파일 이름으로 추가합니다. 예를 들어 http://www.olddomain.com/filename은 http://www.newdomain.com/filename으로 리디렉션됩니다. R = 301은 리디렉션이 영구적임을 서버에 알립니다.

이 솔루션은 전체 사이트를 가져 와서 그대로 새 도메인으로 옮긴 경우에 적합합니다. 하지만 그렇게 자주 일어나지는 않습니다. 보다 일반적인 시나리오는 새 도메인에 새 파일과 디렉토리가 있다는 것입니다. 그러나 이전 도메인과 파일을 기억하는 고객을 잃고 싶지는 않습니다. 따라서 모든 이전 파일을 새 도메인으로 리디렉션하도록 mod_rewrite를 설정해야합니다.

RewriteRule ^. * $ http://newdomain.com/ [R = 301, L]

이전 규칙과 마찬가지로 R = 301은 301 리디렉션을 만듭니다. 그리고 L은 이것이 이것이 마지막 규칙임을 서버에 알려줍니다.

htaccess 파일에 다시 쓰기 규칙을 설정하면 새 웹 사이트에서 이전 URL의 모든 페이지 뷰를 가져옵니다.