Apache的Rewrite設(shè)置多域名301跳轉(zhuǎn)到主域名的方法
如果網(wǎng)站有多個(gè)域名,而又不希望分散權(quán)重,則可以通過(guò)開(kāi)啟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的含義為“或”,可以通過(guò)OR繼續(xù)添加更多的域名。
配置代碼可寫(xiě)在httpd.conf中,也可以寫(xiě)在.htaccess文件中,如果是wordpress用戶(hù),在修改.htaccess文件時(shí)候,記得將配置代碼寫(xiě)在# BEGIN WordPress和# END WordPress之外,否則會(huì)被wordpress設(shè)置時(shí)給覆蓋。
問(wèn)號(hào)匹配問(wèn)題的解決
這里來(lái)說(shuō)一個(gè)實(shí)例吧...公司網(wǎng)站改版需要把收錄的頁(yè)面301到新地址上,在寫(xiě)Apache Rewrite一個(gè)地址的時(shí)候怎么都搞不定。代碼:
/index.php/index/supply.html?cid=101000 =》 /sell/list-101000.html
后來(lái)意識(shí)到可能是問(wèn)號(hào)導(dǎo)致的問(wèn)題,查一下資料發(fā)現(xiàn)確實(shí)是有問(wèn)號(hào)導(dǎo)致的,修改后解決,代碼如下:
RewriteCond %{QUERY_STRING} ^cid=(.+)$
RewriteRule ^/index.php/index/supply\.html$ /sell/list-%1.html? [R=301,L]
說(shuō)明:
RewriteRule Pattern 在匹配時(shí)候不會(huì)對(duì)問(wèn)號(hào)后面的查詢(xún)字符進(jìn)行處理,需要用一個(gè)%{QUERY_STRING}變量的RewriteCond指令。
需要主意的問(wèn)題:
1、在新地址/sell/list-%1.html中需要使用%加序號(hào)來(lái)取得RewriteCond配置中的對(duì)應(yīng)參數(shù)內(nèi)容,而不是通常$(匹配RewriteRule中的內(nèi)容)
2、新地址/sell/list-%1.html?中需要在尾部加上一個(gè)問(wèn)號(hào)來(lái)終結(jié)查詢(xún)字符串,否則會(huì)出現(xiàn)/sell/list-1000.html?cid=1000的情況。
官方解釋
Pattern不會(huì)按照查詢(xún)字符串進(jìn)行匹配。為了達(dá)到這個(gè)目的,你必須使用一個(gè)帶有%{QUERY_STRING}變量的RewriteCond指令。當(dāng)然,你也可以在替換字符串中創(chuàng)建包含查詢(xún)字符串的URL:在替換字符串串中使用問(wèn)號(hào),以標(biāo)明其后的部分應(yīng)該被重新注入到QUERY_STRING中。而要?jiǎng)h除一個(gè)已有的請(qǐng)求串,則可以用問(wèn)號(hào)來(lái)終結(jié)替換字符串。為了聯(lián)合新舊查詢(xún)字符串,請(qǐng)使用[QSA]標(biāo)志。
- 如何在Ubuntu下啟動(dòng)Apache的Rewrite功能
- apache 開(kāi)啟重定向 rewrite的實(shí)現(xiàn)方法
- Apache RewriteBase 指令使用介紹
- Apache中Virtual Host虛擬主機(jī)配置及rewrite參數(shù)說(shuō)明
- Apache mod_rewrite實(shí)現(xiàn)HTTP和HTTPS重定向跳轉(zhuǎn)
- php檢測(cè)apache mod_rewrite模塊是否安裝的方法
- PHP偽靜態(tài)Rewrite設(shè)置之APACHE篇
- 啟用 Apache Rewrite 重寫(xiě)模塊的詳細(xì)過(guò)程
相關(guān)文章
Linux中出現(xiàn)“No space left on device”錯(cuò)誤的排查與解決方法
這篇文章主要給大家介紹了關(guān)于在Linux中出現(xiàn)"No space left on device"錯(cuò)誤的排查與解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
Linux?CentOS7?vim重復(fù)行問(wèn)題
這篇文章主要介紹了Linux?CentOS7?vim重復(fù)行問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
在Ubuntu中實(shí)現(xiàn)人臉識(shí)別登錄的完整步驟
這篇文章主要給大家介紹了關(guān)于在Ubuntu中實(shí)現(xiàn)人臉識(shí)別登錄的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Shell中如何刪除文本比較長(zhǎng)的行的實(shí)現(xiàn)方法
這篇文章主要介紹了 Shell中如何刪除文本比較長(zhǎng)的行的實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-10-10
Linux常用命令之chmod修改文件權(quán)限777和754
這篇文章主要介紹了Linux常用命令之chmod修改文件權(quán)限777和754,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
linux下多個(gè)硬盤(pán)劃分到同一掛載點(diǎn)問(wèn)題
在Linux系統(tǒng)中,將多個(gè)硬盤(pán)劃分到同一掛載點(diǎn)需要通過(guò)邏輯卷管理(LVM)來(lái)實(shí)現(xiàn),首先,需要將物理存儲(chǔ)設(shè)備(如硬盤(pán)分區(qū))創(chuàng)建為物理卷,然后,將這些物理卷組成邏輯卷組,接著,從邏輯卷組中劃分出邏輯卷,并進(jìn)行格式化和掛載2025-02-02
Linux系統(tǒng)磁盤(pán)格式化以及手動(dòng)增加swap分區(qū)
本文給大家詳細(xì)介紹了在Linux系統(tǒng)中磁盤(pán)格式化 以及手動(dòng)增加swap分區(qū)的方法和命令,十分全面,有需要的小伙伴可以參考下2018-09-09

