Tips:當你看到這個提示的時候,說明當前的文章是由原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程式碼如下:
<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][#(驚哭)]