301重定向是網(wǎng)站優(yōu)化中比較重要的一部分,可以集中首頁權(quán)重,也可以在網(wǎng)站更換域名或者改版時(shí),將原有的權(quán)重集中傳遞到新的url上,防止出現(xiàn)錯(cuò)誤頁面,避免原有權(quán)重排名的流失。以下常德seo主要針對(duì)的是虛擬主機(jī),如果是用的服務(wù)器或者VPS,可以在iss里面進(jìn)行設(shè)置,方法相對(duì)比較簡單。
一、asp程序301設(shè)置
1.首頁重定向
asp程序設(shè)置301相對(duì)簡單一點(diǎn),把以下代碼放到網(wǎng)站首頁(一般是更目錄上的index.asp)的開頭即可。這個(gè)方法可以設(shè)置多種情況,可將不帶www重定向到帶www,其他次域名重定向到主推域名等。
<%
website=request.ServerVariables(“Server_name”)
‘獲取當(dāng)前訪問的域名
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實(shí)現(xiàn)
<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>
將以下代碼拷貝到記事本內(nèi),并另存為web.config,再將web.config文件上傳到網(wǎng)站空間的根目錄下即可行。
二、php程序301設(shè)置
改程序所在空間(以win2003系統(tǒng)空間為例)必須開啟ISAPI Rewrite后,才能進(jìn)行如下設(shè)置,301才能有效。開啟后,將以下代碼拷貝到記事本內(nèi),并另存為.htaccess,再將.htaccess文件上傳到網(wǎng)站空間的根目錄下方行。
1、集中首頁權(quán)重
將不帶www的“domain.com”301重定向到帶www的“www.domain.com”域名上
先進(jìn)種方法:
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、網(wǎng)站更換域名
例如筆者的多個(gè)域名,需要將幾個(gè)域名的進(jìn)行統(tǒng)一,方便用戶瀏覽,這樣其他的次要域名就可以用301重定向到一個(gè)主推域名。
RewriteCond %{HTTP:Host} ^www.domain.com.cn$
RewriteRule (.*) http://www.domain.com$1 [NC,R=301]
3、網(wǎng)站改版,
內(nèi)部url有所變化,可以批量301重定向到新的url上。
RewriteRule ^/oldpage.htm$ http://www.domain.com/ newpage.html [R=301,L]
以上就簡單介紹了幾種比較常見的301重定向的設(shè)置,當(dāng)然還有很多其他的方法進(jìn)行設(shè)置,這里就不一一贅述了,如果大家有什么好的方法,不妨拿出來各位一起分享!