使用mod_rewrite重定向您的整個網站

Htaccess,mod_rewrite和Apache

網頁移動。 這是Web開發的事實。 如果你很聰明,你可以使用301重定向來防止鏈接腐爛。 但是如果你移動整個網站呢? 您可以通過手動為網站上的每個文件寫入重定向。 但這可能需要很長時間。 幸運的是,可以使用htaccess和mod_rewrite通過幾行代碼重定向整個網站。

如何使用mod_rewrite重定向您的網站

  1. 在舊Web服務器的根目錄中,使用文本編輯器編輯或創建一個新的.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文件中設置了重寫規則,您的新網站將從舊網址獲取所有瀏覽量。