前面有介紹了幾種方法實現二級域名訪問跳轉到二級目錄,對萬網來說,后臺沒有直接的設置。如果用隱形或顯性URL來解析的話意義不大,可以參考以下方法,在萬網環境親測有效,其他虛擬主機空間服務器支持Apache的rewrite功能,都可以采用.htaccess進行設置。
下面開始分享親測有效的方法:
第一步:二級域名解析
二級域名解析不重復敘述了,移步到域名解析及虛擬空間綁定二級域名完整教程。
第二步:在根目錄建立.htaccess文件
網上有很多的案例,這個文件也是寫得天花亂墜,對于筆者這樣的水平實在是看不懂,最終找到了以下代碼,建立這個文件可以看解決調試.htaccess文件網站出現http500錯誤
01 <IfModule mod_rewrite.c>
02
03 RewriteEngine On
04
05 RewriteBase /
06
07 # 綁定二級域名:m.dede58.com 到子目錄/m
08
09 RewriteCond %{HTTP_HOST} ^m\.lol9\.cn$ [NC]
10
11 RewriteCond %{REQUEST_URI} !^/m/
12
13 RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA]
14
15 #可以綁定多個 只需重復上三行代碼并更改一下域名、目錄名 就好了
16
17 </IfModule>
第三步:在二級目錄建立.htaccess文件
如果你以完成上面的步驟,你的子域名應該可以訪問了,但你會發現在瀏覽器上訪問:主域名+綁定的域名目錄,也可以訪問,可這并不是我們想要的,接下來我們完成最后一步。在每一個綁定的目錄中 如music目錄中 也增加一個 .htaccess 文件,代碼如下:
01 <IfModule mod_rewrite.c>
02
03 RewriteEngine On
04
05 RewriteBase /
06
07 #只許綁定的域名訪問
08
09 RewriteCond %{HTTP_HOST} !^m\.lol9\.cn$ [NC]
10
11 RewriteRule (.*)?http://m.dede58.com/$1 [L,R=301]
12
13 #對綁定目錄下與 同名的目錄的處理
14
15 RewriteCond %{REQUEST_URI} ^\/m\/ [NC]
16
17 RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
18
19 RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
20
21 </IfModule>