国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

Apache的Rewrite設置多域名301跳轉到主域名的方法

2024-08-27 18:30:30
字體:
來源:轉載
供稿:網友

如果網站有多個域名,而又不希望分散權重,則可以通過開啟Rewrite設置,將多個域名都301跳轉到主域名之下,具體代碼如下:

RewriteEngine OnRewriteCond %{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為最終希望出現的域名,而mituxiu.com、www.mituxiu.com和metooshow.com都為希望被301跳轉的域名。(子域名在計算權重的時候也被認為是獨立的新域名,所以此方法也可用于不帶www的域名和帶www的域名之間的跳轉)其中OR的含義為“或”,可以通過OR繼續添加更多的域名。

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

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

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

后來意識到可能是問號導致的問題,查一下資料發現確實是有問號導致的,修改后解決,代碼如下:

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

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河南省| 茶陵县| 凌云县| 两当县| 万全县| 来凤县| 江孜县| 铜山县| 浪卡子县| 岳池县| 新疆| 迁安市| 舟山市| 资讯 | 北流市| 天津市| 东光县| 南康市| 临夏县| 保定市| 绍兴县| 徐汇区| 青冈县| 微山县| 丁青县| 竹山县| 义乌市| 麻江县| 万盛区| 嘉荫县| 宽甸| 大洼县| 大竹县| 禄劝| 葵青区| 邻水| 泰安市| 宜川县| 民权县| 盐津县| 杭锦后旗|