辛福会迟到
但永远不会缺席

Linux虚拟主机怎么搭建多个站点?使用.htaccess域名绑定文件做根目录

我们所购买的阿帕奇(Linux服务器其中一种)虚拟主机,一台阿帕奇虚拟主机控制面板只能把域名绑定到同一网站根目录。那么就算绑定了多个域名,但是因为是绑定到同一个网站根目录下,打开的网站就是同一个。
那么我们想用虚拟主机搭建多个站,要怎么才能操作呢?

这个我们可以利用.htaccess文件绑定域名到虚拟主机网站根目录中的子目录,当然前提你的空间服务器必须支持apache的rewrite功能,只有这样才能使用.htaccess。如果你的空间是Linux服务器 一般默认都开启了的。即可以实现绑定域名到子目录、一个空间多个站点。

下面是以 a.yuan95.cn 绑定到子目录yuan为例的.htaccess代码.

<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteBase /  
# 绑定 a.yuan95.cn到子目录yuan
RewriteCond %{HTTP_HOST} ^a\.yuan95\.cn$ [NC]  
RewriteCond %{REQUEST_URI} !^/yuan/  
RewriteRule ^(.*)$ yuan/$1?Rewrite [L,QSA]  
#可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了  
</IfModule> 

写好之后,把.htaccess保存上传到虚拟主机网站根目录,完成上面的步骤,你的子域名应该可以访问了。但是这个时候会出现一个问题,就是我们虚拟主机绑定域名+.htaccess文件绑定的目录,也是可以访问的。

那么我们在yuan目录中上传一个.htaccess 文件。
.htaccess其中的代码如下:
<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteBase /  
#只许绑定的域名访问  
RewriteCond %{HTTP_HOST} !^a\.yuan95\.cn$ [NC]  
RewriteRule (.*) http://a.yuan95.cn/$1 [L,R=301]  
#对绑定目录下与 同名的目录的处理  
RewriteCond %{REQUEST_URI} ^\/yuan\/ [NC]  
RewriteCond %{QUERY_STRING} !^(.*)?Rewrite  
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]  
</IfModule> 

最后记得解析域名!

赞(0)
未经允许不得转载:乐予博客 » Linux虚拟主机怎么搭建多个站点?使用.htaccess域名绑定文件做根目录
分享到: 更多 (0)