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

