banner
阿珏酱

阿珏酱

乘上与平常相反的电车,去看看那未曾见过的风景
twitter
github
facebook
bilibili
zhihu
steam_profiles
youtube

利用.htaccess將子域名綁定到子目錄

提示:當你看到這個提示的時候,說明當前的文章是由原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>

結語:
由於我的服務器本身就支持子域名綁定到子目錄,所以自個沒法測試,不過我讓朋友在阿里雲的主機測試通過了,不過阿里雲限制了數量,多綁定的話看會跳到根目錄。由此看來並不是所有的服務器商都支持這麼玩的,還得自行測試。
最後,最重要的一點就是,你域名得解析過來才有用的 [哭笑~]

網友評論:

image 小二郎. 2 年前 (2019-06-12)
不讓複製 是要老子手寫怎麼樣了

image 阿珏 2 年前 (2019-06-13)
@小二郎.:就特麼是讓你手寫怎麼樣了

image 阿珏 3 年前 (2018-03-15)
[#aru_1][# 微笑][#wb_doge][#(驚哭)]

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。