欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Apache的Rewrite設(shè)置多域名301跳轉(zhuǎn)到主域名的方法

 更新時(shí)間:2016年06月12日 17:52:44   作者:雨打浮萍  
這篇文章主要介紹了Apache的Rewrite設(shè)置多域名301跳轉(zhuǎn)到主域名的方法,包括重寫規(guī)則中問號匹配問題的解決,需要的朋友可以參考下

如果網(wǎng)站有多個(gè)域名,而又不希望分散權(quán)重,則可以通過開啟Rewrite設(shè)置,將多個(gè)域名都301跳轉(zhuǎn)到主域名之下,具體代碼如下:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mituxiu.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.mituxiu.com [NC,OR]
RewriteCond %{HTTP_HOST} ^metooshow.com [NC]
RewriteRule ^(.*)$ http://www.metooshow.com/$1 [L,R=301]

其中www.metooshow.com為最終希望出現(xiàn)的域名,而mituxiu.com、www.mituxiu.com和metooshow.com都為希望被301跳轉(zhuǎn)的域名。(子域名在計(jì)算權(quán)重的時(shí)候也被認(rèn)為是獨(dú)立的新域名,所以此方法也可用于不帶www的域名和帶www的域名之間的跳轉(zhuǎn))其中OR的含義為“或”,可以通過OR繼續(xù)添加更多的域名。

配置代碼可寫在httpd.conf中,也可以寫在.htaccess文件中,如果是wordpress用戶,在修改.htaccess文件時(shí)候,記得將配置代碼寫在# BEGIN WordPress和# END WordPress之外,否則會被wordpress設(shè)置時(shí)給覆蓋。

問號匹配問題的解決
這里來說一個(gè)實(shí)例吧...公司網(wǎng)站改版需要把收錄的頁面301到新地址上,在寫Apache Rewrite一個(gè)地址的時(shí)候怎么都搞不定。代碼:

/index.php/index/supply.html?cid=101000
=》
/sell/list-101000.html

后來意識到可能是問號導(dǎo)致的問題,查一下資料發(fā)現(xiàn)確實(shí)是有問號導(dǎo)致的,修改后解決,代碼如下:

 RewriteCond %{QUERY_STRING} ^cid=(.+)$
 RewriteRule ^/index.php/index/supply\.html$ /sell/list-%1.html? [R=301,L]

說明:
RewriteRule Pattern 在匹配時(shí)候不會對問號后面的查詢字符進(jìn)行處理,需要用一個(gè)%{QUERY_STRING}變量的RewriteCond指令。

需要主意的問題:
1、在新地址/sell/list-%1.html中需要使用%加序號來取得RewriteCond配置中的對應(yīng)參數(shù)內(nèi)容,而不是通常$(匹配RewriteRule中的內(nèi)容)
2、新地址/sell/list-%1.html?中需要在尾部加上一個(gè)問號來終結(jié)查詢字符串,否則會出現(xiàn)/sell/list-1000.html?cid=1000的情況。

官方解釋
Pattern不會按照查詢字符串進(jìn)行匹配。為了達(dá)到這個(gè)目的,你必須使用一個(gè)帶有%{QUERY_STRING}變量的RewriteCond指令。當(dāng)然,你也可以在替換字符串中創(chuàng)建包含查詢字符串的URL:在替換字符串串中使用問號,以標(biāo)明其后的部分應(yīng)該被重新注入到QUERY_STRING中。而要刪除一個(gè)已有的請求串,則可以用問號來終結(jié)替換字符串。為了聯(lián)合新舊查詢字符串,請使用[QSA]標(biāo)志。

相關(guān)文章

最新評論