現在很多服務器支持一個站點綁定N個域名,而很多人都習慣將自己的很多域名都一股腦的全部綁定在一個站點上。其實,這樣做對網站是很不利的,因為搜索引擎會搞不清楚,認為這所有的域名都是獨立的站點而同時收錄,但是收錄后就會出現一個問題,所有站點內容完全一樣,這就會導致搜索引擎會K掉其中的某幾個域名,而只保留一個域名,更糟糕的可能是所有域名都被一起K掉。所以,我們就需要為搜索引擎引路,去告訴搜索引擎,哪個域名才是你的網站對應的主要域名,哪些域名是副域名,由此,我們很有必要對次要的域名做301重定向設置。
  在很多情況下,帶www和不帶www的兩個網址,有時候也會被搜索引擎當作2個域名來處理。下面,我以WIN服務器下的IIS的web服務為前提,來說明一下做301重定向的設置。
  我所知道的常用的301重定向設置方法有2種。一個是通過IIS界面直接設置,另外一個是通過代碼來實現301重定向設置。以下例子以www.kzgfoc.live 301重定向到www.kzgfoc.live 進行講解。
  第一種方法,通過IIS界面實現301重定向:
  1.我們增加一個站點,綁定的以下主機頭:mengl.cn www.kzgfoc.live mengl.com。注意,這里的mengl.cn和mengl.com是因為不帶www和帶www有可能被搜索引擎當作不同的網址。對應目錄E:\webroot\301web。該目錄下只需要2個文件,一個default.htm,一個404.htm。
2.IIS中選中剛才我們建立的站點,右鍵,屬性,主目錄,選擇重定向到,輸入網址:http://www.kzgfoc.live,同時注意選中下面的資源的永久重定向。
3.到此,我們已經完成了將mengl.com www.kzgfoc.live這幾個域名301重定向到www.kzgfoc.live。但是通常情況,我們可能以前宣傳過不帶www的域名,導致搜索引擎已經收錄了mengl.com下的一些網址,這樣為了不浪費這些收錄,我們需要將這些從搜索引擎過來的流量轉到www.kzgfoc.live。那我們怎么做呢。可以通過404+301來實現。則我們設置下這個站點的404信息。還是IIS界面,右鍵,屬性,自定義錯誤,找到404,雙擊,出來一個界面,然后在消息類型中選擇URL,在下面的URL輸入框中輸入/404.html。然后我們再在IIS下重新對404.html做301重定向到http://www.kzgfoc.live。操作步驟同第2步。這樣的話,如果用戶輸入mengl.com/xxx.html之類的,因為找不到,則會到404.html,而通過301,用戶最終會進入http://www.kzgfoc.live該界面。

  通過以上幾步,我們在IIS里面完成了301重定向設置。但是大多數情況下,站長們都是用的虛擬主機,這樣的話,就沒法通過IIS來設置301重定向了。
  則我們可以用第二種方法:通過代碼來實現。但是這種方法只能轉向域名訪問主頁形式,無法轉向域名訪問分頁,這個需要加上404跳轉到首頁才行。操作步驟如下。
  1.同IIS里面的設置方法第一步,需要增加網站目錄,并綁定域名mengl.cn www.kzgfoc.live mengl.com這三個域名。并增加index.php,并保證index.php為第一個默認文檔。
  2.修改index.php中的代碼。 mengl.com
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.kzgfoc.live" );
?>
3.參考方法一設置404,使錯誤頁定義到index.php
  這樣就用PHP實現了301重定向。