虚拟主机利用.htaccess绑定域名到子目录,实现一个虚拟主机建立多个网站,将以下内容复制到位于网站根目录的.htaccess文件中。如果没有,请自行创建
<IfModule mod_rewrite.c>
# 利用.htaccess绑定域名到虚拟主机子目录
RewriteEngine On
RewriteBase /
# 绑定 z.wangtongxue.cn 到 zzz 子目录
RewriteCond %{HTTP_HOST} ^z\.wangtongxue\.cn$ [NC]
RewriteCond %{REQUEST_URI} !^/zzz/
RewriteRule ^(.*)$ zzz/$1?Rewrite [L,QSA]
#可以绑定多个子目录 只需重复上三行代码并更改一下域名、目录名就可以了
</IfModule>完成上面的步骤你的子目录应该可以访问了,但你会发现域名+子目录名也可以访问,可这并不是我们想要的,接下来我们完成最后一步,在每一个绑定的子目录中也增加一个.htaccess文件.
htaccess代码如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#只允许绑定的域名访问
RewriteCond %{HTTP_HOST} !^z\.wangtongxue\.cn$ [NC]
RewriteRule (.*) https://z.wangtongxue.cn/$1 [L,R=301]
#对绑定目录下与 同名的目录的处理
RewriteCond %{REQUEST_URI} ^\/zzz\/ [NC]
RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
</IfModule>我测试的是阿里云万网云虚拟主机,其他虚拟主机不知道是否可行,可以自己尝试一下。




取消回复