301是網站優化中比較重要的一部分,可以集中首頁權重,也可以在網站更換域名或者改版時,將原有的權重集中傳遞到新的url上,防止出現錯誤頁面,避免原有權重排名的流失。以下常德seo主要針對的是虛擬主機,如果是用的服務器或者VPS,可以在iss裡面進行設置,方法相對比較簡單。
一、php程序301設置
改程序所在空間(以win2003系統空間為例)必須開啟ISAPI Rewrite後,才能進行如下設置,301才能有效。開啟後,將以下代碼拷貝到記事本內,並另存為.htaccess,再將.htaccess文件上傳到網站空間的根目錄下方行。
1、集中首頁權重
將不帶www的“domain.com”301重定向到帶www的“www.domain.com”域名上
第一種方法:
RewriteEngine On
RewriteCompatibility2 On
RepeatLimit 200
RewriteBase
RewriteCond %{HTTP:Host} ^domain.com$
RewriteRule (.*) http://www.domain.com$1 [NC,R=301]
第二種方法:
RewriteEngine on
RewriteCond %{HTTPS} (on)?
RewriteCond %{HTTP:Host} ^(?!www.)(.+)$ [NC]
RewriteCond %{REQUEST_URI} (.+)
RewriteRule 。? http(?%1s)://www.%2%3 [R=301,L]
2、網站更換域名
例如筆者的多個域名,需要將幾個域名的進行統一,方便用戶浏覽,這樣其他的次要域名就可以用301重定向到一個主推域名。
RewriteCond %{HTTP:Host} ^www.domain.com.cn$
RewriteRule (.*) http://www.domain.com$1 [NC,R=301]
3、網站改版,
內部url有所變化,可以批量301重定向到新的url上。
RewriteRule ^/oldpage.htm$ http://www.domain.com/ newpage.html [R=301,L]
二、asp程序301設置
1.首頁重定向
asp程序設置301相對簡單一點,把以下代碼放到網站首頁(一般是更目錄上的index.asp)的開頭即可。這個方法可以設置多種情況,可將不帶www重定向到帶www,其他次域名重定向到主推域名等。
<%
website=request.ServerVariables(“Server_name”)
‘獲取當前訪問的域名
if website=“domain.com” then
’判斷如果你的域名如果是不帶www域名
Response.Status=“301 Moved Permanently”
Response.AddHeader “Location”,“http://www.domain.com/”
‘做301重定向到帶www的域名
end if
%>
2.利用web.config實現
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=“WWW Redirect” stopProcessing=“true”>
<match url=“.*” />
<conditions>
<add input=“{HTTP_HOST}” pattern=“^$” />
</conditions>
<action type=“Redirect” url=“http://www/{R:0}”
redirectType=“Permanent” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
將以下代碼拷貝到記事本內,並另存為web.config,再將web.config文件上傳到網站空間的根目錄下即可行。
以上就簡單介紹了幾種比較常見的301重定向的設置,當然還有很多其他的方法進行設置,這裡就不一一贅述了,如果大家有什麼好的方法,不妨拿出來各位一起分享!