同一web站点下通过Rewrite实现不同的域名访问不同目录的内容
我们知道,支持子目录绑定的虚拟主机,一个虚拟主机可以承载多个虚拟站点,常见的做法是在空间的控制面板上绑定子站点,子目录对应域名。
若空间不支持子目录绑定,而我们又恰好有这种需求,那如何实现呢? 我们可以通过rewrite技术实现。
1:空间需要支持rewrite
2: 在空间上传一个.htaccess 文件
重点说下.htaccess 这个文件,文件内容如下:
1 2 3 4 5 | RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?aa.test1.com$ RewriteRule ^(/)?$ aa [L] RewriteCond %{HTTP_HOST} ^(www.)?bb.test1.com$ RewriteRule ^(/)?$ bb [L] |
效果:在浏览器上访问http://aa.test1.com 会访问网站根目录下的aa文件夹内容,浏览器地址栏会显示http://aa.test1.com/aa ;在浏览器上访问http://bb.test1.com会访问网站根目录下的bb文件夹内容,浏览器地址栏会显示http://bb.test1.com/bb
需要注意的是:上面的.htaccess 规则内容是Linux风格的,此rewrite规则只适用于linux虚拟机。