301重定向主要是為了將域名A跳轉到域名B,更多情況下是將不帶www的 域名跳轉到帶www的域名,那麼301重定向應該怎麼做呢,本文詳細的介紹301重定向的做法,下面分為linux主機、windows主機以及vps主 機三種情況講述(都以將本站域名yedward.net跳轉到www.yedward.net這個為例子):
(一)linux主機
對於linux虛擬主機Apache服務器,需要支持.htaccess這個文件。先去確定主機是否支持.htaccess這個文件(可以詢問主機商),如果支持的話,首先將兩個域名都解析到這個服務器,然後在.htaccess中添加如下規則:
RewriteCond %{http_host} ^yedward.net [NC]
RewriteRule ^(.*)$ http://www.yedward.net/$1 [R=301,L]
如果你的網站根目錄中已經存在了.htaccess文件,那麼你可以直接修改該文件,然後將這條規則添加進去,如果你的網站根目錄中不存 在.htaccess文件,你可以先自己創建個htaccess.txt這樣的空文件,然後添加如下規則,建成後將htaccess.txt文件上傳到網 站根目錄,然後將htaccess.txt名修改為.htaccess,規則為:
RewriteEngine on
RewriteCond %{http_host} ^yedward.net [NC]
RewriteRule ^(.*)$ http://www.yedward.net/$1 [R=301,L]
(二)windows主機
windows主機的IIS服務器,首先需要安裝ISAP_Rewrite這個組件,一樣的去詢問下主機商是否支持這個組件,如果支持的話,將兩個 域名都解析到該IP,然後對於windows主機我們需要建的是httpd.ini文件而不是.htaccess文件,這個地方需要注意一下,然後在 httpd.ini文件中添加如下規則:
RewriteCond Host: ^yedward.net$
RewriteRule (.*) http://www.yedward.net$1 [I,RP]
RewriteCond Host: ^seo.yedward.net$
RewriteRule (.*) http://www.yedward.net$1 [I,RP]
上面的規則表示的是將yedward.net這個域名301跳轉到www.yedward.net這個域名,同時也將 seo.yedward.net這個域名跳轉到www.yedward.net這個域名。如果你的網站根目錄下存在httpd.ini文件,你可以直接將 以上規則加入進去,如果網站根目錄下不存在該文件,你可以先新建個httpd.txt空文件,然後添加如下規則,保存文件用FTP上傳到網站根目錄後,將 httpd.txt名修改為httpd.ini即可,規則如下:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^yedward.net$
RewriteRule (.*) http://www.yedward.net$1 [I,RP]
RewriteCond Host: ^seo.yedward.net$
RewriteRule (.*) http://www.yedward.net$1 [I,RP]
(三)vps主機
對於vps主機,你可以直接操控管理後台,下面我附上圖片跟大家演示:
第一步:進入“控制面板”,然後在裡面可以找到“管理工具”,然後看到如上圖所示的界面,由於我這個是windows xp系統,只是用於演示用的,真正的windows主機不會使用windows xp系統的,所以在界面上看起來可能有點差別,但是不影響操作。
第二步,打開“Internet信息服務”,然後進入“網站”,會看的上圖所示的結果,如果你的網站是處於運行狀態的,你會在“默認網站”後面看到“運行”的字樣,而我這裡是“停止”,但是這個不影響。
第三步,右鍵點擊在第二步看到的“默認網站(停止)”,然後在出現的對話框中選擇“屬性”,然後進入如上圖所示的界面,這個時候選擇“主目錄”。
第四步,選擇“主目錄”中的“重定向到URL”,在輸入框中輸入要跳轉到的目標地址,並勾選下面的“資源的永久重定向”,最後確認即可,這樣就完成了vps主機的301重定向。
(四)我的主機不支持以上301跳轉怎麼辦?
對於不支持以上301跳轉的主機,那就不要做301了,也沒有關系,你可以通過其他方法達到相同的效果,比如做好網址規范化、網站使用絕對化的地址等,這樣就可以讓搜索引擎明確知道哪一個是你的目標URL。
文章來源:http://www.yedward.net