完美解決IIS和APACHE的301重定向(帶參數(shù))
更新時(shí)間:2010年11月28日 16:57:36 作者:
感覺(jué)BAIDU spider對(duì)404的重定向似乎無(wú)動(dòng)于衷,于是近日干脆對(duì)原失效的鏈接重新設(shè)置301重定向。
在5月份的時(shí)候,因?yàn)閷?duì)一個(gè)網(wǎng)站改版,導(dǎo)致大量鏈接失效,正好5月底GOOGLE PR大更新,這個(gè)網(wǎng)站的PR直接從3降低到2,并且收錄也急劇下滑,可以說(shuō)網(wǎng)站的大幅度改版是導(dǎo)致本次PR降低的主要因素,后在GOOGLE的網(wǎng)站管理后臺(tái)也驗(yàn)證了這個(gè)結(jié)論,于是趕緊使用JAVASCRIPT進(jìn)行了404跳轉(zhuǎn)定向,從實(shí)際的測(cè)試效果來(lái)看,GOOGLE對(duì)404跳轉(zhuǎn)也是支持的,不會(huì)懲罰該網(wǎng)站的權(quán)值,可是根據(jù)IIS日志分析,感覺(jué)BAIDU spider對(duì)404的重定向似乎無(wú)動(dòng)于衷,于是近日干脆對(duì)原失效的鏈接重新設(shè)置301重定向。
一、IIS 301重定向設(shè)置
通過(guò)本次設(shè)置IIS的重定向,感覺(jué)還是比較方便的。下面就說(shuō)一下IIS的重定向方法,因?yàn)榫W(wǎng)站改版是面向目錄的遷移的,所以不得不了解以下幾個(gè)微軟的IIS定向參數(shù):
我們?cè)谠O(shè)置URL重定向的時(shí)候是可以使用帶參數(shù)形式URL的,因?yàn)楫吘菇?jīng)常面對(duì)的URL是很多,要是就那么一兩個(gè)頁(yè)面301重定向隨便怎么整都可以了。
參數(shù)1:$S ——傳遞URL的后綴到新的URL;
參數(shù)2:$P——傳遞URL 中的query參數(shù)到新的URL,不包括問(wèn)號(hào)(?)
參數(shù)3:$Q——傳遞URL中的query參數(shù)到新的URL,包括問(wèn)號(hào)(?),,所以在設(shè)置URL地址時(shí),后面不要帶問(wèn)號(hào),比如:
將http://chabaoo.cn/catalog.asp?cate=os&page=1,重定向到http://chabaoo.cn/category.php?cate=1&page=1
只需要在IIS里設(shè)置catelog.asp文件設(shè)置重定向到 category.php$Q。
參數(shù)4:$V——傳遞請(qǐng)求的URL,但是不包括服務(wù)器名和任何參數(shù)。
另外還有使用通配符重定向,這里不常用暫時(shí)不講解。
因?yàn)槲覀冎囟ㄏ蚨鄠€(gè)目錄,所以,如果單個(gè)去設(shè)置不同的定向文件,那么IIS設(shè)置起來(lái)將會(huì)非常麻煩,但是如果都定向到一個(gè)文件然后再重定向,又會(huì)因?yàn)?_SERVER['HTTP_REFERER']無(wú)法取道對(duì)應(yīng)的引用頁(yè)面,結(jié)果為空,所以不得不采用上面的參數(shù)進(jìn)行傳遞,這時(shí)候只需要加個(gè)參數(shù)就可以解決引用頁(yè)面的傳遞問(wèn)題,比如/301.php?go=$V,這樣就可以直接在php文件中進(jìn)行URL 301重定向跳轉(zhuǎn)處理了。
示例:
<?php
$url=substr($_GET['go'],1);//去掉最前面的斜杠
$e=explode('/',$url);//分割字符串
//判斷并設(shè)置新的URL
$newurl='http://chabaoo.cn';
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$newurl);
?>
二、APACHE 301重定向
以上處理是面向IIS的,如果服務(wù)器采用APACHE,那么要比起IIS重定向要簡(jiǎn)單的多,只需要修改.htaccess文件,單獨(dú)定向即可,當(dāng)然htaccess文件也是支持正則表達(dá)式的,可以根據(jù)實(shí)際情況使用。
目錄重定向示例:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Options Indexes
ErrorDocument 404 /index.html
DirectoryIndex index.html default.html index.php index.htm default.htm
Redirect permanent /abc/ http://chabaoo.cn/
Redirect permanent /cde/ http://chabaoo.cn/
Redirect permanent /fgh/ http://chabaoo.cn/
order deny,allow
這樣就可以實(shí)現(xiàn)APACHE 的301永久重定向。
全站301重定向示例:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://chabaoo.cn/$1 [L,R=301]
特別提醒,完成301重定向設(shè)置后一定要實(shí)際測(cè)試一下到底是否正確返回301狀態(tài)碼,附一個(gè)測(cè)試地址:
http://www.seoconsultants.com/tools/headers.asp
以上地址在輸入測(cè)試URL之后,會(huì)自動(dòng)跳轉(zhuǎn)到測(cè)試結(jié)果位置,即時(shí)查看頁(yè)面的返回狀態(tài)碼,非常方便。
一、IIS 301重定向設(shè)置
通過(guò)本次設(shè)置IIS的重定向,感覺(jué)還是比較方便的。下面就說(shuō)一下IIS的重定向方法,因?yàn)榫W(wǎng)站改版是面向目錄的遷移的,所以不得不了解以下幾個(gè)微軟的IIS定向參數(shù):
我們?cè)谠O(shè)置URL重定向的時(shí)候是可以使用帶參數(shù)形式URL的,因?yàn)楫吘菇?jīng)常面對(duì)的URL是很多,要是就那么一兩個(gè)頁(yè)面301重定向隨便怎么整都可以了。
參數(shù)1:$S ——傳遞URL的后綴到新的URL;
參數(shù)2:$P——傳遞URL 中的query參數(shù)到新的URL,不包括問(wèn)號(hào)(?)
參數(shù)3:$Q——傳遞URL中的query參數(shù)到新的URL,包括問(wèn)號(hào)(?),,所以在設(shè)置URL地址時(shí),后面不要帶問(wèn)號(hào),比如:
將http://chabaoo.cn/catalog.asp?cate=os&page=1,重定向到http://chabaoo.cn/category.php?cate=1&page=1
只需要在IIS里設(shè)置catelog.asp文件設(shè)置重定向到 category.php$Q。
參數(shù)4:$V——傳遞請(qǐng)求的URL,但是不包括服務(wù)器名和任何參數(shù)。
另外還有使用通配符重定向,這里不常用暫時(shí)不講解。
因?yàn)槲覀冎囟ㄏ蚨鄠€(gè)目錄,所以,如果單個(gè)去設(shè)置不同的定向文件,那么IIS設(shè)置起來(lái)將會(huì)非常麻煩,但是如果都定向到一個(gè)文件然后再重定向,又會(huì)因?yàn)?_SERVER['HTTP_REFERER']無(wú)法取道對(duì)應(yīng)的引用頁(yè)面,結(jié)果為空,所以不得不采用上面的參數(shù)進(jìn)行傳遞,這時(shí)候只需要加個(gè)參數(shù)就可以解決引用頁(yè)面的傳遞問(wèn)題,比如/301.php?go=$V,這樣就可以直接在php文件中進(jìn)行URL 301重定向跳轉(zhuǎn)處理了。
示例:
復(fù)制代碼 代碼如下:
<?php
$url=substr($_GET['go'],1);//去掉最前面的斜杠
$e=explode('/',$url);//分割字符串
//判斷并設(shè)置新的URL
$newurl='http://chabaoo.cn';
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$newurl);
?>
二、APACHE 301重定向
以上處理是面向IIS的,如果服務(wù)器采用APACHE,那么要比起IIS重定向要簡(jiǎn)單的多,只需要修改.htaccess文件,單獨(dú)定向即可,當(dāng)然htaccess文件也是支持正則表達(dá)式的,可以根據(jù)實(shí)際情況使用。
目錄重定向示例:
復(fù)制代碼 代碼如下:
<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Options Indexes
ErrorDocument 404 /index.html
DirectoryIndex index.html default.html index.php index.htm default.htm
Redirect permanent /abc/ http://chabaoo.cn/
Redirect permanent /cde/ http://chabaoo.cn/
Redirect permanent /fgh/ http://chabaoo.cn/
order deny,allow
這樣就可以實(shí)現(xiàn)APACHE 的301永久重定向。
全站301重定向示例:
復(fù)制代碼 代碼如下:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://chabaoo.cn/$1 [L,R=301]
特別提醒,完成301重定向設(shè)置后一定要實(shí)際測(cè)試一下到底是否正確返回301狀態(tài)碼,附一個(gè)測(cè)試地址:
http://www.seoconsultants.com/tools/headers.asp
以上地址在輸入測(cè)試URL之后,會(huì)自動(dòng)跳轉(zhuǎn)到測(cè)試結(jié)果位置,即時(shí)查看頁(yè)面的返回狀態(tài)碼,非常方便。
您可能感興趣的文章:
- Win2008 r2 iis7/iis7.5系統(tǒng)下HTTP重定向(301重定向)圖文方法
- IIS7.5下301重定向的設(shè)置方法(及偽靜態(tài)后301重定向出錯(cuò)案例)
- 解析網(wǎng)站301重定向的實(shí)現(xiàn)方法,包括iis,apache,asp,php的方法
- 比較詳細(xì)的win2003 IIS6.0 301重定向帶參數(shù)的問(wèn)題解決方法
- 301重定向?qū)崿F(xiàn)方法,及對(duì)網(wǎng)站優(yōu)化的作用
- iis 301轉(zhuǎn)向和網(wǎng)址規(guī)范化總結(jié)分析
- IIS服務(wù)器下做301永久重定向設(shè)置方法[可以傳參][圖文]
- IIS中301重定向跳轉(zhuǎn)web.config規(guī)則和http重定向模塊的實(shí)現(xiàn)教程
相關(guān)文章
git創(chuàng)建版本庫(kù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了git創(chuàng)建版本庫(kù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08如何將pem證書(shū)轉(zhuǎn)換為.crt和.key與證書(shū)格式介紹
這篇文章主要介紹了如何將pem證書(shū)轉(zhuǎn)換為.crt和.key與證書(shū)格式介紹,需要的朋友可以參考下2024-01-01django項(xiàng)目、vue項(xiàng)目部署云服務(wù)器的詳細(xì)過(guò)程
這篇文章主要介紹了django項(xiàng)目、vue項(xiàng)目部署云服務(wù)器的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07svn服務(wù)器安裝在centos7系統(tǒng)平臺(tái)
本文給大家介紹的是在centos7系統(tǒng)上安裝svn服務(wù)器的詳細(xì)教程,有需要的小伙伴可以參考下2018-04-04git遠(yuǎn)程倉(cāng)庫(kù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了git遠(yuǎn)程倉(cāng)庫(kù)的相關(guān)資料,需要的朋友可以參考下2017-08-08web壓力測(cè)試工具_(dá)動(dòng)力節(jié)點(diǎn)Java 學(xué)院整理
本文給大家分享幾個(gè)web 壓力測(cè)試工具,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08