同一个虚拟主机空间安装多个网站

很多企业买了一个较大容量和带宽的空间,想申请把几个网站一起放在同一个虚拟主机里,但是受到虚拟主机的限制,因为标准型的虚拟主机网站空间只支持一个域名解析一个目录站,那么对很多朋友而言来说是一个极大的空间浪费。今天西安来和大家分享一下:

<?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;
}
?>

也就是在根目录 / 下放一个 index.php,然后根据域名分别跳转到对应的子目录下,实现同一个空间安装多个网站的办法。

但这种方法毕竟有点拖沓,于是有了另一段代码:

RewriteEngine on

DirectoryIndex index.html index.htm index.php default.php index.cgi

# 条件:如果所访问的目标既不是文件,也不是目录
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 那么:

###########################  第一段 ########################
# 把 /aaa.com/ 作为 www.aaa.com 的根目录
# 如果主机为 www.aaa.com 并且 uri 不以 /aaa.com/ 作为开头
RewriteCond %{HTTP_HOST} www.aaa.com
RewriteCond %{REQUEST_URI} !^/aaa.com/
#那么,就把网址里所有的文件都跳转到 /aaa.com/下对应的内容:
RewriteRule ^(.*)$ /aaa.com/$1
# 如果主机为 www.aaa.com
RewriteCond %{HTTP_HOST} www.aaa.com
#那么,就把默认首页 / 跳转到 /aaa.com/index.php文件,并结束跳转
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]

# ... 以此类推


这是一段 apache的配置文件。当前所有Linux虚拟空间和全能空间都会支持 .htaccess 配置吧。

其实现在nginx对我来说更加熟练,但现在已经用不着这么玩了。

第二段代码是看不到实际路径的。所有的子目录都会显示成 /

转载请说明出处,版权归原作者所有,不代表本站的观点和立场,如有侵权,请联系在线客服沟通。
福银网 » 同一个虚拟主机空间安装多个网站

发表评论

欢迎 访客 发表评论

关注福银网,不被割韭菜!

开通会员 了解我们