之前陌小雨分享过如何将二级域名绑定到子目录,是以最多人用的万网虚拟主机为例的,今天是来教大家如何把不同的独立域名绑定到不同的子目录,也就是实现一台虚拟主机拥有多个独立的网站(可以都是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文件夹,对应修改其中的域名即可。还需要将两个域名和虚拟主机相互绑定,万网的话,需要这两个域名都已经备案。
至此:万网虚拟主机搭建多个独立域名网站功能就完全实现了,但在具体使用过程中可能会出现下面几个问题: