提示:當你看到這個提示的時候,說明當前的文章是由原emlog博客系統搬遷至此的,文章發布時間已過於久遠,編排和內容不一定完整,還請諒解`
利用.htaccess 綁定子域名到子目錄
日期:2018-1-22 阿珏 折騰代碼 瀏覽:1982 次 評論:3 條
一般情況下,一台虛擬主機只允許綁定一個域名到根目錄下。
使用過 emlog 的人 應該對其中的靜態鏈接應該不陌生 它就是典型的利用.htaccess 文件來對網頁進行域名轉向。
利用.htaccess 綁定域名到子目錄,前提你的空間服務器必須支持 apache 的 rewrite 功能,只有這樣才能使用.htaccess。如果你的空間是 Linux 服務器 一般默認都開啟了的。即可以實現綁定域名到子目錄、一個空間多個站點。
下面是以 link.52ecy.cn 綁定到子目錄 link 為例的.htaccess 代碼.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# 綁定link.52ecy.cn 到子目錄link
RewriteCond %{HTTP_HOST} ^link\.52ecy\.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/link/
RewriteRule ^(.*)$ link/$1?Rewrite [L,QSA]
# 可以綁定多個 只需重複上三行代碼並更改一下域名、目錄名 就好了
</IfModule>
如果你以完成上面的步驟 你的子域名應該可以訪問了, 但你會發現在瀏覽器上訪問 主域名 + 綁定的域名目錄 也可以訪問,可這並不是我們想要的
接下來我們完成最後一步,在每一個綁定的目錄中 如 link 目錄中 也增加一個 .htaccess 文件
htaccess 代碼如下:
下面是以 music.xmgho.com 綁定到子目錄 music 為例的.htaccess 代碼.
即可以實現綁定域名到子目錄、一個空間多個站點。
即可以實現綁定域名到子目錄、一個空間多個站點。即可以實現綁定域名到子目錄、一個空間多個站點。即可以實現綁定域名到子目錄、一個空間多個站點。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#只許綁定的域名訪問
RewriteCond %{HTTP_HOST} !^link\.52ecy\.cn$ [NC]
RewriteRule (.*) http://link.52ecy.cn/$1 [L,R=301]
#對綁定目錄下與 同名的目錄的處理
RewriteCond %{REQUEST_URI} ^\/link\/ [NC]
RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
</IfModule>
結語:
由於我的服務器本身就支持子域名綁定到子目錄,所以自個沒法測試,不過我讓朋友在阿里雲的主機測試通過了,不過阿里雲限制了數量,多綁定的話看會跳到根目錄。由此看來並不是所有的服務器商都支持這麼玩的,還得自行測試。
最後,最重要的一點就是,你域名得解析過來才有用的 [哭笑~]
網友評論:
小二郎. 2 年前 (2019-06-12)
不讓複製 是要老子手寫怎麼樣了阿珏 2 年前 (2019-06-13)
@小二郎.:就特麼是讓你手寫怎麼樣了
阿珏 3 年前 (2018-03-15)
[#aru_1][# 微笑][#wb_doge][#(驚哭)]