Rewrite %{HTTP_HOST}用法

admin發表於2018-07-19

伺服器變數%{HTTP_HOST}可以獲取訪問的域名。

程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
RewriteCond %{http_host} ^softwhy.com$ [NC]
RewriteRule ^(.*)$ www.softwhy.com/$1 [R=301]

程式碼解析如下:

(1).RewriteCond用來規定執行後面重寫的條件。

(2).%{http_host}是一個伺服器變數,可以獲取訪問的域名,如果域名是"softwhy.com",新增成立。

(3).RewriteRule規定當RewriteCond條件成立索要執行的重寫規則。

(4).^(.*)$獲取URL除去查詢字串的部分,比如softwhy.com/forum.php?mod=viewthread&tid=1,只會獲取forum.php這部分,前面的域名和查詢部分都不會被獲取。

(5).$1表示^(.*)$小括號所匹配的內容,$2表示第二個小括號所匹配的內容,以此類推。

(6).[R=301]表示原始網址重定向為後來重寫的網址。

(7).用softwhy.com/forum.php?mod=viewthread&tid=1訪問,softwhy.com/forum.php被www.softwhy.com/forum.php替換,最終是以www.softwhy.com/forum.php?mod=viewthread&tid=1訪問頁面。


相關文章