完美解決IIS和APACHE的301重定向(帶參數(shù))
更新時(shí)間:2010年11月28日 16:57:36 作者:
感覺BAIDU spider對(duì)404的重定向似乎無動(dòng)于衷,于是近日干脆對(duì)原失效的鏈接重新設(shè)置301重定向。
在5月份的時(shí)候,因?yàn)閷?duì)一個(gè)網(wǎng)站改版,導(dǎo)致大量鏈接失效,正好5月底GOOGLE PR大更新,這個(gè)網(wǎng)站的PR直接從3降低到2,并且收錄也急劇下滑,可以說網(wǎng)站的大幅度改版是導(dǎo)致本次PR降低的主要因素,后在GOOGLE的網(wǎng)站管理后臺(tái)也驗(yàn)證了這個(gè)結(jié)論,于是趕緊使用JAVASCRIPT進(jìn)行了404跳轉(zhuǎn)定向,從實(shí)際的測(cè)試效果來看,GOOGLE對(duì)404跳轉(zhuǎn)也是支持的,不會(huì)懲罰該網(wǎng)站的權(quán)值,可是根據(jù)IIS日志分析,感覺BAIDU spider對(duì)404的重定向似乎無動(dòng)于衷,于是近日干脆對(duì)原失效的鏈接重新設(shè)置301重定向。
一、IIS 301重定向設(shè)置
通過本次設(shè)置IIS的重定向,感覺還是比較方便的。下面就說一下IIS的重定向方法,因?yàn)榫W(wǎng)站改版是面向目錄的遷移的,所以不得不了解以下幾個(gè)微軟的IIS定向參數(shù):
我們?cè)谠O(shè)置URL重定向的時(shí)候是可以使用帶參數(shù)形式URL的,因?yàn)楫吘菇?jīng)常面對(duì)的URL是很多,要是就那么一兩個(gè)頁面301重定向隨便怎么整都可以了。
參數(shù)1:$S ——傳遞URL的后綴到新的URL;
參數(shù)2:$P——傳遞URL 中的query參數(shù)到新的URL,不包括問號(hào)(?)
參數(shù)3:$Q——傳遞URL中的query參數(shù)到新的URL,包括問號(hào)(?),,所以在設(shè)置URL地址時(shí),后面不要帶問號(hào),比如:
將http://m.fzitv.net/catalog.asp?cate=os&page=1,重定向到http://m.fzitv.net/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è)置起來將會(huì)非常麻煩,但是如果都定向到一個(gè)文件然后再重定向,又會(huì)因?yàn)?_SERVER['HTTP_REFERER']無法取道對(duì)應(yīng)的引用頁面,結(jié)果為空,所以不得不采用上面的參數(shù)進(jìn)行傳遞,這時(shí)候只需要加個(gè)參數(shù)就可以解決引用頁面的傳遞問題,比如/301.php?go=$V,這樣就可以直接在php文件中進(jìn)行URL 301重定向跳轉(zhuǎn)處理了。
示例:
<?php
$url=substr($_GET['go'],1);//去掉最前面的斜杠
$e=explode('/',$url);//分割字符串
//判斷并設(shè)置新的URL
$newurl='http://m.fzitv.net';
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://m.fzitv.net/
Redirect permanent /cde/ http://m.fzitv.net/
Redirect permanent /fgh/ http://m.fzitv.net/
order deny,allow
這樣就可以實(shí)現(xiàn)APACHE 的301永久重定向。
全站301重定向示例:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://m.fzitv.net/$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í)查看頁面的返回狀態(tài)碼,非常方便。
一、IIS 301重定向設(shè)置
通過本次設(shè)置IIS的重定向,感覺還是比較方便的。下面就說一下IIS的重定向方法,因?yàn)榫W(wǎng)站改版是面向目錄的遷移的,所以不得不了解以下幾個(gè)微軟的IIS定向參數(shù):
我們?cè)谠O(shè)置URL重定向的時(shí)候是可以使用帶參數(shù)形式URL的,因?yàn)楫吘菇?jīng)常面對(duì)的URL是很多,要是就那么一兩個(gè)頁面301重定向隨便怎么整都可以了。
參數(shù)1:$S ——傳遞URL的后綴到新的URL;
參數(shù)2:$P——傳遞URL 中的query參數(shù)到新的URL,不包括問號(hào)(?)
參數(shù)3:$Q——傳遞URL中的query參數(shù)到新的URL,包括問號(hào)(?),,所以在設(shè)置URL地址時(shí),后面不要帶問號(hào),比如:
將http://m.fzitv.net/catalog.asp?cate=os&page=1,重定向到http://m.fzitv.net/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è)置起來將會(huì)非常麻煩,但是如果都定向到一個(gè)文件然后再重定向,又會(huì)因?yàn)?_SERVER['HTTP_REFERER']無法取道對(duì)應(yīng)的引用頁面,結(jié)果為空,所以不得不采用上面的參數(shù)進(jìn)行傳遞,這時(shí)候只需要加個(gè)參數(shù)就可以解決引用頁面的傳遞問題,比如/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://m.fzitv.net';
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://m.fzitv.net/
Redirect permanent /cde/ http://m.fzitv.net/
Redirect permanent /fgh/ http://m.fzitv.net/
order deny,allow
這樣就可以實(shí)現(xiàn)APACHE 的301永久重定向。
全站301重定向示例:
復(fù)制代碼 代碼如下:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.com [NC]
RewriteRule ^(.*)$ http://m.fzitv.net/$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í)查看頁面的返回狀態(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ù)的問題解決方法
- 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)文章
aws服務(wù)器更換實(shí)例規(guī)格后ssh無法登陸的解決方案
這篇文章主要介紹了aws服務(wù)器更換實(shí)例規(guī)格后ssh無法登陸,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
dell 服務(wù)器開機(jī)總是提示按F1才能進(jìn)入系統(tǒng)解決方法
這篇文章主要介紹了dell 服務(wù)器開機(jī)總是提示按F1才能進(jìn)系統(tǒng)解決方法,不過提示上面一般都會(huì)有具體的提示信息,這里簡(jiǎn)單分享一下,需要的朋友可以參考下2016-04-04
rsync備份時(shí)自動(dòng)創(chuàng)建目錄的方法
這篇文章主要介紹了rsync備份時(shí)自動(dòng)創(chuàng)建目錄的方法,本文使用rsync 中的 -R 參數(shù)(-R, --relative use relative path names)解決自動(dòng)創(chuàng)建目錄問題,需要的朋友可以參考下2015-01-01
kali linux 安裝 NVIDA 顯卡驅(qū)動(dòng)教程
本文是作者通過實(shí)際操作后分享出來的kali linux系統(tǒng)上安裝NVDIA顯卡驅(qū)動(dòng)的全過程記錄,真實(shí)有效,有需要的小伙伴可以參考下。2018-04-04
HTTP全部標(biāo)準(zhǔn)響應(yīng)狀態(tài)碼整理
HTTP標(biāo)準(zhǔn)響應(yīng)狀態(tài)碼用來表明特定 HTTP 請(qǐng)求是否成功完成。 響應(yīng)被歸為以下五大類:信息響應(yīng) (100–199);成功響應(yīng) (200–299);重定向消息 (300–399);客戶端錯(cuò)誤響應(yīng) (400–499);服務(wù)端錯(cuò)誤響應(yīng) (500–599)2023-07-07
GitLab?Pipeline規(guī)范及流程觸發(fā)詳解
這篇文章主要為大家介紹了GitLab?Pipeline規(guī)范及流程觸發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Centos7使用docker搭建gitlab服務(wù)器
這篇文章主要為大家詳細(xì)介紹了Centos7使用docker搭建gitlab服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
使用SSH遠(yuǎn)程連接Ubuntu服務(wù)器系統(tǒng)的方法
這篇文章主要介紹了使用SSH遠(yuǎn)程連接Ubuntu服務(wù)器系統(tǒng),本教程是為了配置ssh服務(wù),可以將Ubuntu系統(tǒng)遠(yuǎn)程通過cmd或者windows Powershell登錄,就可以實(shí)現(xiàn)代碼復(fù)制功能,需要的朋友可以參考下2023-11-11
使用gitlab在服務(wù)器上搭建私服git倉(cāng)庫(kù)并上傳項(xiàng)目的操作方法
這篇文章主要介紹了使用gitlab在服務(wù)器上搭建私服git倉(cāng)庫(kù),并且上傳項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-12-12

