易網小編經測試以后,發現URL轉發、域名綁定、301永久重定向、302暫時性定向、meta 轉發之間有不同的概念,本文具體講述301永久重定向、302暫時性定向、URL顯性跳轉、URL隱性跳轉與SEO的關系。
網站Header信息查詢工具查詢:http://tool.chinaz.com/pagestatus/。
之前一直在想如何在網址中輸入yazine.com的域名時就跳轉到我的電子雜志制作網www.yazine.com的根域名上,因為在中國大家都將帶www開頭的域名認為是主域名,其實不帶www的域名才是主域名,但是為了符合國人的認知習慣我們還是有必要將主域名跳轉到根域名上的。
在網上找了很久很久才找到的這個比較詳細的教程,以下個人收集整理的,我覺得對許多站長而言非常有幫助的。
看到一般網站都把如:yazine.com轉發到www.yazine.com,于是今天準備把yazine.com轉發到www.yazine.com,在網上找了一會,發現godaddy域名轉發后在國內訪問不了,于是搜索godaddy域名轉發方法,果然,用.htaccess可以實現轉發,方法如下:
1、將yazine.com解析到與www.yazine.com相同的ip;(godaddy的NS默認yazine.com與www.yazine.com解析的ip相同)
2、新建.htaccess 文件,加入如下代碼,保存后上傳到網站上面;
代碼:
RewriteEngine On RewriteCond %{HTTP_HOST} ^blog.yazine.com [NC] RewriteRule ^(.*)$ http://www.yazine.com/$1 [L,R=301]
在瀏覽器中輸入yazine.com,立刻跳轉到www.yazine.com,成功!
你的網站在做域名解析時,有沒有設置不帶www的域名?應該設置一個不帶www的域名。這樣,當用戶使用不帶www的域名時,可以正常訪問你的網站。
但是我們經常碰到這樣的情況,其他網站鏈接你的站點時,會用下面的鏈接:
www.yazine.com
yazine.com/
www.yazine.com/index.html
yazine.com/index.html
而這樣導致:你站點主域名的pr值分散到其他幾個URLs了。因為在搜索引擎看來,帶www和不帶www的URL是不同的兩個URL,當它們指向同一個網站時,會讓搜索引擎不懂應該選擇哪一個URL作為主要的。
如果你用301重定向把其他幾個URL如yazine.com轉到
www.yazine.com
PR也就集中在主域名:www.yazine.com 了。
雖然在google網站管理員中心中,可以google設定首選域名,而這個設置就是為一些人設置不了301的問題而準備的,設定首選域名和301是一樣的效果,不過這僅僅對google有效。該設置301還是要設置的,畢竟是要對所有搜索引擎的。
Url轉發與301重定向的區別
經過測試以后,發現URL轉發、域名綁定、301永久重定向、302暫時性定向、meta 轉發之間有不同的概念。
URL轉發:分顯性轉發,隱性轉發,如果做SEO,后者直接K掉。下面的URL轉發一般指顯性轉發。
有一點說法是:URL轉發不利于SEO,對PR沒有傳遞,301對SEO很友好,可以傳遞PR 。但是有的URL轉發測試返回的代碼是301。下面會提到。
URL轉發對已經存在網址統一重新轉向新域名。而301重定向如果使用代碼一般只針對首頁有效,雖然htaccess可以達到目標,但win不支持。最好的方法是有IIS控制臺里的重定向(效果如何沒測試),或者htaccess支持(使用正則表達式達到各路徑的對應重定向,相當于替換域名)
至于301與302轉向的區別
實施301后,新網址完全繼承舊網址,舊網址的排名等完全清零。
實施302后,對舊網址沒有影響,但新網址不會有排名。
302即使網站客觀上不是spam,也很容易被搜尋引擎容易誤判為spam而遭到懲罰。
meta fresh:其具體是通過網頁中的meta指令,在特定時間后重定向到新的網頁,如果延遲的時間太短(約5秒之內),會被判斷為spam。
使訪問yazine.com/的時候就會自動轉到www.yazine.com
在.htaccess文件里寫上以下代碼即可。
RewriteEngine on
RewriteCond %{http_host}^yazine.com [NC]
RewriteRule ^(.*)$http://www.yazine.com/$1 [L,R=301]
注意:URL標準化的301重定向(以上代碼)需要寫在其他URL-rewrite代碼之前。
通過此指令通知搜索引擎的spider你的站點文件不在此地址下。這是較為常用的辦法。
形如:Redirect 301 / http://www.yazine.com
在域名管理后臺設置url轉發,前面寫上yazine.com 不帶www的,后面框里寫上www.yazine.com這種帶www的域名,設置成顯式轉發。顯式轉發相當于301,隱式轉發相當于302,比較危險。
不過值得一提的是,因為URL轉發和301概念不同,所以并不是所有的顯式轉發都是301的(聽說萬網提供的url轉發是302的)。
可以通過提供的網站Header信息查詢工具查詢yazine.com【http://tool.chinaz.com/pagestatus/】。
如果返回狀態碼是“301”。恭喜,那就是301的。
我的是新網,新網(xinnet)提供url顯式轉發是301的,我就使用了此方法。
如果你是萬網,又是windows主機,那就用DNS別名解析吧。
不過現在有沒有改變,不太清楚~~
ASP:
Response.Status=”301 MovedPermanently” Response.AddHeader”Location”,”http://www.yazine.com/” Response.End
PHP:
header(“HTTP/1.1 301 MovedPermanently”); header(“Location:http://www.yazine.com/”); exit();
近日由于本站修改了固定鏈接,Google百度收錄都出了問題。。。無奈在找301重定向的方法,這里是暫時找到的一些,希望對大家有用!
1.重定向yazine.com到www.yazine.com
這種重定向旨在使域名唯一,是網站SEO必須要做的,后面重定向www.yazine.com到yazine.com也是出于同樣的原因,只是形式不同。
打開.htaccess文件,加入以下規則。(下面的規則是針對主域名的,子域名要修改)
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.yazine.com$[NC] RewriteRule ^(.*)$ http://www.yazine.com/$1[L,R=301]
2.重定向www.yazine.com到yazine.com
RewriteEngine On RewriteCond %{HTTP_HOST} !^yazine.com$[NC] RewriteRule ^(.*)$ http://yazine.com/$1[L,R=301]
3.重定向oldyazine.com到www.newyazine.com
RewriteEngine On RewriteCond %{HTTP_HOST} !oldyazine.com$[NC] RewriteRule ^(.*)$ http://www.newyazine.com/$1[L,R=301]
4.重定向oldyazine.com to newyazine.com
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !oldyazine.com$[NC] RewriteRule ^(.*)$ http://newyazine.com/$1[L,R=301]
5.重定向yazine.com/file/file.php 到 otheryazine.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.yazine.com$ RewriteRule ^file/file.php$http://www.otheryazine.com/otherfile/other.php [R=301,L]
如果你用301重定向把其他幾個URL如yazine.com轉到
www.yazine.com
PR也就集中在主域名:www.yazine.com 了。
雖然在google網站管理員中心中,可以google設定首選域名,而這個設置就是為一些人設置不了301的問題而準備的,設定首選域名和301是一樣的效果,不過這僅僅對google有效。該設置301還是要設置的,畢竟是要對所有搜索引擎的。