如何在同一个虚拟主机空间优雅地安装多个网站

如何在同一个虚拟主机空间优雅地安装多个网站

 <?php
    switch ($_SERVER["HTTP_HOST"])
    {
        case "www.uselys.com":
                            header("location:.com");
        break;
        case "www.uselys.cn":
                            header("location:.cn");
        break;
        case "www.panyh.net":
                            header("location:panyh");
        break;
    }
    ?>

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

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

RewriteEngine on

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

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

# 那么:

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

###########################  第二段 ########################

RewriteCond %{HTTP_HOST} ^www.uselys.com$
RewriteCond %{REQUEST_URI} !^/uselys.com/
RewriteRule ^(.*)$ /uselys.com/$1
RewriteCond %{HTTP_HOST} ^www.uselys.com$
RewriteRule ^(/)?$ uselys.com/index.php [L]

###########################  第三段 ########################

RewriteCond %{HTTP_HOST} ^www.panyh.net$
RewriteCond %{REQUEST_URI} !^/panyh.net/
RewriteRule ^(.*)$ /panyh.net/$1
RewriteCond %{HTTP_HOST} ^www.panyh.net$
RewriteRule ^(/)?$ panyh.net/ [L]

# ... 以此类推

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

版权声明:东成西就 发表于 2020-10-10 11:31:29。
转载请注明:如何在同一个虚拟主机空间优雅地安装多个网站 | 云知道

暂无评论

暂无评论...