很多虛擬主機(jī)都是只能綁定多個(gè)域名到跟目錄,不支持多個(gè)域名綁定到子目錄。這樣一個(gè)空間基本只能放置一個(gè)網(wǎng)站。我們今天的教程就是教大家如何利用.htaccess實(shí)現(xiàn)綁定域名到子目錄、一個(gè)空間多個(gè)站點(diǎn)。
很多虛擬主機(jī)都是只能綁定多個(gè)域名到跟目錄,不支持多個(gè)域名綁定到子目錄。這樣一個(gè)空間基本只能放置一個(gè)網(wǎng)站。我們今天的教程就是教大家如何利用.htaccess實(shí)現(xiàn)綁定域名到子目錄、一個(gè)空間多個(gè)站點(diǎn)。
利用.htaccess綁定域名到子目錄,前提你的空間服務(wù)器必須支持apache的rewrite功能,只有這樣才能使用.htaccess
.htaccess綁定子目錄案例
第一步:根目錄下添加如下.htaccess規(guī)則
例如:下面是以 m1.jsphp.net 和 m2.jsphp.net 為例的.htaccess代碼
RewriteEngineOn
RewriteBase/
#綁定m.jsphp.net域名到根目錄下的site2目錄
RewriteCond%{HTTP_HOST} ^m2.jsphp.net$ [NC]
RewriteCond%{REQUEST_URI} !^/site2/
RewriteRule^(.*)$ site2/$1?Rewrite[L,QSA]
#如果有多個(gè)復(fù)制下面這3行代碼,根據(jù)目錄和域名對(duì)應(yīng)修改復(fù)制一段
RewriteCond%{HTTP_HOST} ^m1.jsphp.net$ [NC]
RewriteCond%{REQUEST_URI} !^/site1/
RewriteRule^(.*)$ site1/$1?Rewrite[L,QSA]
此時(shí),輸入m1.jsphp.net,應(yīng)該就可以訪問到site1目錄下的文件了。輸入m2.jsphp.net就可以訪問到site2目錄下的文件了。
但是,如果你細(xì)心還會(huì)發(fā)現(xiàn),你的主域名假如是www.jsphp.net/site1 也是可以訪問到site1目錄下的站點(diǎn)內(nèi)容。這樣不是我們所希望的。畢竟這樣對(duì)于SEO是比較不友好的。
第二步:子目錄也添加.htaccess文件
接下來我們?cè)傩陆ㄒ粋€(gè).htaccess文件,假如我們需要處理的域名為m1.jsphp.net 目錄是 根目錄下的 site1 目錄
.htaccess代碼如下:
RewriteEngineOn
RewriteBase/
#只許綁定的域名訪問
RewriteCond%{HTTP_HOST} !^m1.jsphp.net$ [NC]
RewriteRule(.*) https://m1.jsphp.net/$1 [L,R=301]
#對(duì)綁定目錄下與 同名的目錄的處理,如果沒有同名目錄,下面的代碼也可以不需要
RewriteCond%{REQUEST_URI} ^/site1/[NC]
RewriteCond%{QUERY_STRING} !^(.*)?Rewrite
RewriteRule^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite[L,QSA]
此時(shí)你就可以看到你訪問 主域名 www.jsphp.net/site1/ 目錄會(huì)自動(dòng)跳轉(zhuǎn)到 m1.jsphp.net目錄里。
如果你有其他的偽靜態(tài)規(guī)則,則都可以繼續(xù)在對(duì)應(yīng)的.htaccess文件里添加。
免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。