在購買域名時,域名本身是不帶有www的,但由於域名要通過DNS服務器解析后才可以使用,在這個過程中每一個域名是會指向一個web服務器ip地址,由於在很早之前網站方都會增加一個"www"的子域名來幫助客戶以更多的路徑訪問網站,客戶通常都會按照:"www.++.com"的形式來訪問站點;如果你沒有做這個www的解析那么"www.++.com"就不能訪問,對於不懂技術或者不明白解析的客戶來講,這個問題可能會造成他不能訪問你的站,因為他只是知道用帶有"www"的形式訪問你的站點,可能不知道"++.com"也是同樣可以訪問的!所以,后來也就有了更多人在延續這個做法;我們在購買空間域名時,服務商也會隨手就幫你做了這個"www"的解析,當然,這個解析的服務器地址是和沒有"www"相同的,造成:你用帶"www"的和不帶兩個域名同時可以訪問一個同樣的內容。說白了這個問題的答案就是:能夠讓初次使用互聯網的人更快的訪問進你的網站。
但是這樣的話,會分散某個域名的流量與PR值,最好是將所有訪問定向到某個域名下。
可以通過使用服務器技術實現的url轉發功能(url-forwarding 或 url redirect),轉發到帶www的域名來訪問。但是我們說到用這種url轉發方式是對seo不利的,對搜索引擎最友好的跳轉方式是使用301轉向(也叫301跳轉,301重定向)。
所以這里就有一些疑問了,為什么godaddy等域名注冊商提供的url轉發功能是不利於seo的?url轉發的原理是什么?如果要用301轉向,那么Linux apache, Windows IIS, php, ASP, ASP.NET, JSP 分別該如何設置來實現301重定向?
-
301重定向的作用
為什么要使用301轉向?首先第一條就是剛才我們提到的為了seo優化,在如何url網址規范化中也提到,設置301轉向后,原來的頁面將返回301 HTTP 狀態碼給瀏覽器或者搜索引擎,告知搜索引擎次頁面已經永久重定向到了新的網頁上,spider就不會索引原網頁,同時也會將原網頁的PR權重傳遞給跳轉到的新網頁。如果返回的是302狀態碼,則告訴spider頁面跳轉只是臨時的,spider仍然會索引原網頁,這就造成了重復頁面問題(即Google 補充材料)。如www.nowamagic.net 302 跳轉到 nowamagic.net,它們就會被當做兩個重復頁面。
其次,由於各種原因要更換域名時,可以使用301重定向將老域名301轉向到新的域名,這樣老域名的流量不會流失,PR權重也會轉移。另外當有注冊了多個不同域名,指向到同一網站時,也可以只設置一個主域名,將其他域名設置301轉向到主域名,這樣各個域名就不會分散權重。因此使用301轉向很有必要。
-
URL轉發的原理
url轉發有兩種方式,隱藏轉發和(url轉發后瀏覽器地址欄輸入的網址不變)不隱藏轉發(也叫顯性轉發:url轉發后地址欄顯示的地址為轉發后的網址)。有人測試過,不管是隱藏轉發還是不隱藏轉發,根據不同的域名注冊服務商,可能會返回不同的http header。有的域名服務商管理后台設置的url轉發功能(URL Forwarding)會使服務器返回302狀態碼給搜索引擎,而不是301 http 狀態碼。
據說這類url轉發有的是通過給瀏覽器窗口套用一個框架iframe的方式來實現隱藏轉發,有的則是使用Javascript或Meta Refresh來實現不隱藏方式的url轉發,很少是真正用了301 重定向方法的。所以大家還是盡量少用url轉發功能,而是自己去手工設置實現301轉向。