一.在根目录创建文件.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
RewriteRule ^(/)?$ dedewp/index.php [L]

RewriteEngine On
RewriteBase /

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

上述代码的含义是将www.dedewp.com或者dedewp.com绑定到万网虚拟主机下的dedewp文件夹;将ticaozhixiang.com或者www.ticaozhixiang.com绑定到万网免费虚拟主机下的xyz文件夹;你对应修改下即可。如果需要建立第三个网站,如把5231.xyz绑定到fuli文件夹,只需要再重复添加一段即可。
添加完上述代码你会发现:通过ticaozhixiang.com也可以访问到www.dedewp.com的内容,这并不是我们希望看到的,所以还需要分别在dedewp和xyz文件夹中修改htaccess文件,添加下面的代码(以dedewp文件夹为例):

RewriteEngine On
# 禁止通过非本网站域名访问
RewriteCond %{HTTP_HOST} !^(www.)?dedewp.com$ [NC]
RewriteRule ^.*$ [L,r=404]

如果是xyz文件夹,对应修改其中的域名即可。还需要将两个域名和虚拟主机相互绑定,万网的话,需要这两个域名都已经备案。
至此:万网虚拟主机搭建多个独立域名网站功能就完全实现了,但在具体使用过程中可能会出现下面几个问题:不告诉你~

网络教程:

拿万网的云虚拟主机来试了下,用.htaccess可成功建两个站.
一.在根目录创建文件.htaccess
二.在根目录创建com和cn两个文件夹.
三.在.htaccess文件添加以下内容.

RewriteEngine On
RewriteBase /
#不带www的301重定向到带www.
RewriteCond %{HTTP_HOST} ^abc\.com$ [NC]

RewriteRule ^(.*)$ http://www.abc.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^abc\.cn$ [NC]
RewriteRule ^(.*)$ http://www.abc.cn/$1 [L,R=301]
#访问域名为abc.com或者abc.com的,且不是/com/文件的,且不存在的文件或目录
#重定向到/com/文件下.比如:abc.com/1.html则实际访问文件为/com/下的1.html

RewriteCond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/com/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /com/$1 [L]
#重定向首页到/com/文件目录下.
RewriteCond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
RewriteRule ^(/)?$ com/index.php [L]

#以上是设置abc.com访问/com/文件目录,
#以下是设置abc.cn访问/cn/文件目录.
RewriteCond %{HTTP_HOST} ^(www\.)?abc\.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/cn/
RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /cn/$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?abc\.cn$ [NC]

RewriteRule ^(/)?$ /cn/index.php [L]

#以下设置访问地址既不是.abc.com也不是abc.cn的重定向到abc.com域名
RewriteCond %{HTTP_HOST} !^(www\.)?abc\.com$ [NC]
RewriteCond %{HTTP_HOST} !^(www\.)?abc\.cn$ [NC]
RewriteRule ^(/)?$ abc.com [L,R=301]

这样就可以了,abc.com访问根目录下的/com/目录,abc.cn访问/cn/目录,达到了一个万网虚拟主机建两个不同的站的效果.

有一个问题是,你访问abc.com/com/或者abc.cn/com/和访问abc.com是一样的效果,这样的话,你就得设置robots.txt来禁止搜索引擎访问/com/和/cn/目录.

发表评论