.htaccess 多域名訪問

admin發表於2018-09-16

如果所使用的主機不支援多域名,那麼使用Rewrite重寫可以模擬實現。

假設有如下兩個域名需要繫結到不同的目錄實現多域名訪問:

(1).www.a.com。

(2).www.b.com

所要繫結的資料夾分別為a和b,程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
RewriteCond %{HTTP_HOST} a.com
RewriteCond %{REQUEST_URI} !^/a
RewriteRule ^(.*)$ /a/$1 [L]

RewriteCond %{HTTP_HOST} b.com
RewriteCond %{REQUEST_URI} !^/b
RewriteRule ^(.*)$ /b/$1 [L]

假設a目錄下有antzone.html頁面,現在使用www.a.com/antzone.html訪問。

程式碼解析如下:

(1).%{HTTP_HOST}獲取訪問域名,也就是www.a.com。

(2).a.com用來與域名匹配。

(3).%{REQUEST_URI}獲取URL的除去域名的部分,假如URL是www.softwhy.com/page/do.php?a=1,那麼它將獲取/page/do.php?a=1。

(4).!^/a,如果不是以/a開頭;直接訪問的是antzone.html頁面。

(5).^(.*)$ /a/$1將www.a.com/antzone.html替換為www.a.com/a/antzone.html。

相關閱讀:

(1).%1和$1作用參閱RewriteCond與RewriteRule用法詳解一章節。

(2).正規表示式知識參閱正規表示式教程板塊。

相關文章