前面有介紹了幾種方法實現(xiàn)二級域名訪問跳轉(zhuǎn)到二級目錄,對萬網(wǎng)來說,后臺沒有直接的設置。如果用隱形或顯性URL來解析的話意義不大,如果你想實現(xiàn)用http://m.vi586.com訪問http://www.vi586.com/m的話,可以參考以下方法,在萬網(wǎng)環(huán)境親測有效,其他虛擬主機空間服務器支持Apache的rewrite功能,都可以采用.htaccess進行設置。
下面開始分享親測有效的方法:
第一步:二級域名解析
二級域名解析不重復敘述了,移步到域名解析及虛擬空間綁定二級域名完整教程。
第二步:在根目錄建立.htaccess文件
網(wǎng)上有非常多的案例,這個文件也是寫得天花亂墜,對于筆者這樣的水平實在是看不懂,最終找到了以下代碼,建立這個文件可以看解決調(diào)試.htaccess文件網(wǎng)站出現(xiàn)http500錯誤
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 綁定二級域名:m.vi586.com 到子目錄/m RewriteCond %{HTTP_HOST} ^m\.vi586\.com$ [NC] RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)$ m/$1?Rewrite [L,QSA] #可以綁定多個 只需重復上三行代碼并更改一下域名、目錄名 就好了 </IfModule>
第四步:在二級目錄建立.htaccess文件
如果你以完成上面的步驟,你的子域名應該可以訪問了,但你會發(fā)現(xiàn)在瀏覽器上訪問:主域名+綁定的域名目錄,也可以訪問,可這并不是我們想要的,接下來我們完成最后一步。在每一個綁定的目錄中 如music目錄中 也增加一個 .htaccess 文件,代碼如下:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #只許綁定的域名訪問 RewriteCond %{HTTP_HOST} !^m\.vi586\.com$ [NC] RewriteRule (.*) http://m.vi586.com/$1 [L,R=301] #對綁定目錄下與 同名的目錄的處理 RewriteCond %{REQUEST_URI} ^\/m\/ [NC] RewriteCond %{QUERY_STRING} !^(.*)?Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA] </IfModule>
第五步:在DEDE后臺設置絕對地址
必須設置該項,否則由于地址已經(jīng)改變,“/”代表著根目錄(如:http://www.vi586.com/),而修改之后根目錄卻改變了(如:http://m.vi586.com/)。js、css樣式、附件、欄目鏈接等都會出錯,因此必須采用絕對地址,設置方法如下:
后臺設置找到:系統(tǒng)>系統(tǒng)基本參數(shù)>核心設置>勾選(是/否)支持多站點,開啟此項后附件、欄目連接、arclist內(nèi)容啟用絕對網(wǎng)址
然后重新生成一下就行了。這里需要注意在:核心>網(wǎng)站欄目管理>高級選項,下面的“綁定域名”此處可以根據(jù)實際需要填寫,默認留空即可。這里會發(fā)現(xiàn)dedecms后臺的設置只是讓首頁、欄目頁、arclist內(nèi)容采用絕對地址,但是對文章內(nèi)容頁附件并沒有實現(xiàn)絕對地址,請移步到dede實現(xiàn)二級域名內(nèi)容頁文章附件相對路徑改為絕對路徑