怎么做網(wǎng)站301重定向
301跳轉(永久重定向)作用相比javascirp 跳轉、mete refresh跳轉,php 等動態(tài)語言reditect ,301跳轉對搜索引擎最友好,避免作弊嫌疑。轉移流量、權重。不會浪費在原ur
301跳轉(永久重定向)
作用
相比javascirp 跳轉、mete refresh跳轉,php 等動態(tài)語言reditect ,301跳轉對搜索引擎最友好,避免作弊嫌疑。
轉移流量、權重。不會浪費在原url 上的工作成果。
解決網(wǎng)址規(guī)范化問題。如a.com ,www.a.com ,www.a.com/index.php實際返回都是主頁內(nèi)容,但他們卻是不同的URL ,對SE 來說不但是重復內(nèi)容,更分散了權重, 因此可用301轉向到同一URL 。
原理
根據(jù)HTTP 協(xié)議,客戶端向服務器發(fā)出請求,服務器返回數(shù)據(jù)應答頭中狀態(tài)碼為301,表示永久轉移到loction 字段中的URL 。
實現(xiàn)
DNS 服務器
一般DNS 服務器都提供URL 轉發(fā)功能,而且大部分用的就是301轉發(fā),如果虛擬主機服務器不支持301跳轉、或者無法用程序?qū)崿F(xiàn)時。可以使用域名服務器實現(xiàn)轉發(fā),DNS 實現(xiàn)的301轉發(fā)功能簡單,只能實現(xiàn)域名、子目錄等跳轉, 另外特別注意有的DNS 服務器轉發(fā)不一定是301,所以要檢測一下。
WEB 服務器
apache 需要加載rewrite 模塊,然后在主機配置中或者在網(wǎng)站的.htaccess 文件中寫rewrite 規(guī)則進行URL 跳轉設置。IIS 同樣可以加載rewrite 模塊,然后在httpd.ini 文件中寫rewrite 規(guī)則。如果能夠控制IIS 服務器,可以選中要跳轉的域名或目錄,圖形方式設置資源重定向。 Options FollowSymLinks
RewriteEngine on
rewritecond {http_host} ^mmmstar.com [nc]
rewriterule ^(.*)$ http://www.mmmstar.com/$1 [r=301,nc]
或者
RewriteEngine On
RewriteCond {HTTP_HOST} !^mmmstar.com$ [NC]
RewriteRule ^(.*)$ http://www.mmmstar.com/$1 [L,R=301]
表示整站所有的以帶www 的域名www.nmmmstar.com 為地址的網(wǎng)頁都會301轉向到不帶www 的域名mmmstar.com 不僅是首頁,子目錄/網(wǎng)頁也可以) 。如果是其他域名要重定向到 mmmstar.com 這個新域名,則在.htaccess 文件中加入如下重定向代碼:
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.mmmstar.com/$1 [L,R=301]
動態(tài)網(wǎng)頁程序
PHP 的301跳轉代碼:
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.xx.com");
,?>
網(wǎng)站改版后導致URL 方式改變了,如老頁面url 是www.a.com/page.html,新頁面url 則是www.a.com/?p=3,老頁面已不能訪問了,新頁面又沒被收錄,如果兩個頁面都保留的話,或許新頁面就永遠不會被收錄了,因為內(nèi)容重復了。這個時候就可以通過301跳轉把老頁面跳轉到新的頁面。
兩個域名綁定了同一個空間,兩個域名都被搜索引擎收錄了,而只想用其中一個域名。不然會內(nèi)容復制的??梢杂?01跳轉。
在購買域名時,域名本身是不帶有www 的,由于在以前網(wǎng)站方都會增加一個"www" 的子域名來幫助客戶以更多的路徑訪問網(wǎng)站,客戶會養(yǎng)成在網(wǎng)站前添加www 來訪問網(wǎng)站的習慣,所以如果沒有做www.*.com的解析的話客戶輸入www.*.com便不能訪問,基于此,一些域名提供商會自動幫購買者做了這個"www" 的解析,這樣帶"www" 的和不帶兩個域名同時可以訪問一個同樣的內(nèi)容。但是這樣的話,會分散某個域名的流量與PR 值,最好的解決方案是將所有訪問用301跳轉定向到某個域名下。
URL 轉發(fā)
url 轉發(fā)有兩種方式,隱藏轉發(fā)和(url 轉發(fā)后瀏覽器地址欄輸入的網(wǎng)址不變)不隱藏轉發(fā)(也叫顯性轉發(fā):url 轉發(fā)后地址欄顯示的地址為轉發(fā)后的網(wǎng)址)。不管是隱藏轉發(fā)還是不隱藏轉發(fā),根據(jù)不同的域名注冊服務商,可能會返回不同的http header。有的會使服務器返回302狀態(tài)碼給搜索引擎,而不是301 http 狀態(tài)碼。有的是通過給瀏覽器窗口套用一個框架iframe 的方式來實現(xiàn)隱藏轉發(fā),有的則是使用Javascript 或Meta Refresh 來實現(xiàn)不隱藏方式的url 轉發(fā),不一定是真正用到301重定向,所以,應該盡可能少用url 轉發(fā)功能。