很多企業(yè)買(mǎi)了一個(gè)較大容量和帶寬的空間,想申請(qǐng)把幾個(gè)網(wǎng)站一起放在同一個(gè)虛擬主機(jī)里,但是受到虛擬主機(jī)的限制,因?yàn)闃?biāo)準(zhǔn)型的虛擬主機(jī)網(wǎng)站空間只支持一個(gè)域名解析一個(gè)目錄站,那么對(duì)很多朋友而言來(lái)說(shuō)是一個(gè)極大的空間浪費(fèi)。今天藤設(shè)計(jì)來(lái)和大家分享一下:
<?php
switch ($_SERVER["HTTP_HOST"])
{
case "www.aaa.com":
header("location:.aaa");
break;
case "www.bbb.com":
header("location:.bbb");
break;
case "www.ccc.com":
header("ccc");
break;
}
?>
也就是在根目錄 / 下放一個(gè) index.php,然后根據(jù)域名分別跳轉(zhuǎn)到對(duì)應(yīng)的子目錄下,實(shí)現(xiàn)同一個(gè)空間安裝多個(gè)網(wǎng)站的辦法。
但這種方法畢竟有點(diǎn)拖沓,于是有了另一段代碼:
RewriteEngine on
DirectoryIndex index.html index.htm index.php default.php index.cgi
# 條件:如果所訪問(wèn)的目標(biāo)既不是文件,也不是目錄
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 那么:
########################### 第一段 ########################
# 把 /aaa.com/ 作為 www.aaa.com 的根目錄
# 如果主機(jī)為 www.aaa.com 并且 uri 不以 /aaa.com/ 作為開(kāi)頭
RewriteCond %{HTTP_HOST} www.aaa.com
RewriteCond %{REQUEST_URI} !^/aaa.com/
#那么,就把網(wǎng)址里所有的文件都跳轉(zhuǎn)到 /aaa.com/下對(duì)應(yīng)的內(nèi)容:
RewriteRule ^(.*)$ /aaa.com/$1
# 如果主機(jī)為 www.aaa.com
RewriteCond %{HTTP_HOST} www.aaa.com
#那么,就把默認(rèn)首頁(yè) / 跳轉(zhuǎn)到 /aaa.com/index.php文件,并結(jié)束跳轉(zhuǎn)
RewriteRule ^(/)?$ aaa.com/index.php [L]
########################### 第二段 ########################
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteCond %{REQUEST_URI} !^/bbb.com/
RewriteRule ^(.*)$ /bbb.com/$1
RewriteCond %{HTTP_HOST} ^www.bbb.com$
RewriteRule ^(/)?$ bbb.com/index.php [L]
########################### 第三段 ########################
RewriteCond %{HTTP_HOST} ^www.ccc.com$
RewriteCond %{REQUEST_URI} !^/ccc.com/
RewriteRule ^(.*)$ /ccc.com/$1
RewriteCond %{HTTP_HOST} ^www.ccc.com$
RewriteRule ^(/)?$ ccc.com/ [L]
# ... 以此類(lèi)推
這是一段 apache的配置文件。當(dāng)前所有Linux虛擬空間和全能空間都會(huì)支持 .htaccess 配置吧。
其實(shí)現(xiàn)在nginx對(duì)我來(lái)說(shuō)更加熟練,但現(xiàn)在已經(jīng)用不著這么玩了。
第二段代碼是看不到實(shí)際路徑的。所有的子目錄都會(huì)顯示成 /




網(wǎng)站建設(shè)
品牌設(shè)計(jì)
APP開(kāi)發(fā)
小程序開(kāi)發(fā)
商城開(kāi)發(fā)
網(wǎng)站優(yōu)化
UI設(shè)計(jì)
增值服務(wù)