涵❤馨成长网

伴您一起成长

关于万网虚拟主机如何建立多个网站

实现一台虚拟主机拥有多个独立的网站(可以都是 wordpress 网站,也可以是其他的 cms 程序)、独立的域名,同样是以万网的虚拟主机为例。原理都是通过强大的 htaccess。

需要做 3 步工作,第一是在主机根目录下修改 htaccess(没有的话就新建),在文件最顶部加上如下代码:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)dedewp\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/dedewp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ dedewp/$1
RewriteCond %{HTTP_HOST} ^www.dedewp.com$
RewriteRule ^(/)?$ dedewp/index.php [L]

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)wpshe\.vip$ [NC]
RewriteCond %{REQUEST_URI} !^/xyz/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ xyz/$1
RewriteCond %{HTTP_HOST} ^www.wpshe.vip$
RewriteRule ^(/)?$ xyz/index.php [L]
上述代码的含义是将www.dedewp.com或者dedewp.com绑定到万网虚拟主机下的 dedewp 文件夹;将wpshe.vip或者www.wpshe.vip绑定到万网虚拟主机下的 xyz 文件夹;你对应修改下即可。如果需要建立第三个网站,只需要再重复添加一段即可。

添加完上述代码你会发现:通过 dedewp.com/dedewp 也可以访问到 www.dedewp.com 的内容,这并不是我们希望看到的,所以还需要分别在 dedewp 和 xyz 文件夹中修改 htaccess 文件,添加下面的代码(以 dedewp 文件夹为例):

RewriteEngine On
# 禁止通过非本网站域名访问
RewriteCond %{HTTP_HOST} !^(www.)?dedewp.com$ [NC]
RewriteRule ^.*$ [L,r=404]
如果是 xyz 文件夹,对应修改其中的域名即可。还需要将两个域名和虚拟主机相互绑定,万网的话,需要这两个域名都已经备案。

———————————————————————–

在万网主机购买一个虚拟空间,然后,我们可以在这个空间里建立多个文件夹,放置不同的网站。

使用情景:没有购买主机空间,无法配置虚拟主机

为了实现以上功能,我想到了.htaccess文件,该文件又称为分布式配置文件,全称是‘超文本入口’。管理员可以通过Apache的AllowOverride指令来设置。(一般来说不需要设置,因为默认都会开启)

我们应该知道,通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

假设我们有两个域名,www.myshop1.com 和www.myshop2.cn ,并且在服务器空间里有两个对应的com和cn文件夹,那么通过下面我们可以让apache接受两个域名请求,然后分别选择对应文件加下的网站。

1.在主机根目录下建立.htaccess文件

2.在每一个网站文件夹下建立.htaccess文件

3.在第一步的.htaccess文件里写入一下代码

RewriteEngine On
    RewriteCond %{HTTP_HOST} myshop1.com
    RewriteCond %{REQUEST_URI} !^/com
    RewriteRule ^(.*)$ /com/$1 [L]
 
    RewriteCond %{HTTP_HOST} myshop2.cn
    RewriteCond %{REQUEST_URI} !^/cn
    RewriteRule ^(.*)$ /cn/$1 [L]
4.在com文件夹下的.htaccess里写入

RewriteEngine On
    # 禁止通过非本网站域名访问
    RewriteCond %{HTTP_HOST} !^(www.)?myshop1.com$ [NC]
    RewriteRule ^.*$ [L,r=404]
5.在cn文件夹下的.htaccess里写入

RewriteEngine On
    # 禁止通过非本网站域名访问
    RewriteCond %{HTTP_HOST} !^(www.)?myshop2.cn$ [NC]
    RewriteRule ^.*$ [L,r=404]
6.通过上述几步,我们即可完成我们的需求。
注意:.htaccess必须以ASCII模式上传,最好将其权限设置为644。
本文参考地址:

1.http://lesca.me/archives/htaccess-rewrite.html#rewrite7

2.http://www.cnblogs.com/mfc-itblog/p/5500740.html

3.http://www.jb51.net/article/25476.htm
       4.http://blog.csdn.net/cuiyuan9/article/details/8282015
——————— 
作者:nuc_八道门 
来源:CSDN 
原文:https://blog.csdn.net/nuc_badaomen/article/details/56280671 
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注