Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Linux服務器修改.htaccess文件實現301重定向

Linux服務器修改.htaccess文件實現301重定向

日期:2017/2/8 10:22:49      編輯:關於服務器

出於 SEO、PR 值傳遞、網址轉換的目的,在網站初建和網站遷移時我們都需要使用 301 重定向,通常包括域名對域名,目錄對目錄和一個獨立網址對另一個獨立網址的重定向。

在虛擬主機上作 301 重定向,最常用的方法有2種:第一種就是用 cPanel 設定。用 cPanel 操作相當簡單,登陸你的 cPanel–>Domain–>Redirects,選擇相應的選項即可完成設置,這裡暫不討論。第二種就是直接編輯 .htaccess。實質二者都是修改文件 .htaccess,只是前者手工編輯,後者是由 cPanel 完成。這裡主要介紹的第二種方法。

注意:在設置 301 重定向之前務必備份相應目錄下的.htaccess文件。

1.重定向domain.com到www.domain.com

這種重定向旨在使域名唯一,是網站SEO必須要做的,後面重定向www.domain.com到domain.com也是出於同樣的原因,只是形式不同。打開.htaccess文件,加入以下規則。(下面的規則是針對主域名的,子域名要修改,否則子域名也會被重寫,下面會專門對這個進行說明)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com$1 [L,R=301]

2.重定向www.domain.com到domain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com$1 [L,R=301]

3.重定向olddomain.com到www.newdomain.com

RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com$1 [L,R=301]

4.重定向olddomain.com to newdomain.com

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com$1 [L,R=301]

5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]

5.重定向domain.com到www.domain.com,而且不影響子域名

之所以特別說明不影響子域名,是由於上面說的那個方法只有在沒子域名的情況下才可行,如果域名含有子域名,而且子域名又不想被重定向,這時候就需要下面的方法來進行301重定向;

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www.45it.com|t.webjx.com)$ [NC]
RewriteRule ^(.*)$ http://www.45it.com$1 [L,R=301]

上面的代碼說明:第一行表示說開啟mod-rewrite,第二行就表示要重定向的對象,代碼的意思是出了www.45it.com和 t.webjx.com這兩個域名之外的所有域名,因為本博含有一個子域名的微薄t.webjx.com,意思是當域名是t.webjx.com的時候不進行重 定向,第三行表示要重定向的目標。上面是一個例子,其實主要思想還是正則表達式,如果有多個子域名不想重定向,則同樣的可以在第二行進行添加!有什麼問題 大家可以在後面提出,我知道的盡量解答。

特別注意的是,本文的這些方法只適用於支持htaccess文件的系統,即只適用於Linux系統,至於windows系統的空間暫時我還沒研究。

Copyright © Windows教程網 All Rights Reserved