不仅仅是一个人
只争朝夕,只因有你,李内涵伴你一路成长。

基于Apache空间利用htaccess绑定多个子目录搭建多个网站

对于一个空间而言,同时搭建多个网站可以更好的利用主机的剩余资源,但是,很多空间提供应商并不提供多域名和多个子域名解析,或者需要解析到不同的域名,对于这种情况,我们可以利用建立htaccess 文件加入 rewrite 函数的方法实现,当然这个方法仅适用于 Apache 搭建的服务器。

让我么先来看下目录结构:


/—(根目录)
       |——.htaccess
  |———— aa(aa文件夹)
       |— .htaccess
  |———— xx(xx文件夹)
       |— .htaccess
  |———— oo(oo文件夹)
       |— .htaccess

假设有三个域名 www.aa.com 和 www.xx.com 、www.oo.com,分别需要解析到主机 /aa 和 /xx 还有/oo 目录。

则首先需要在 /(根目录) 目录建立 .htaccess 文件,内容如下:

<IfModule mod_rewrite.c>
# 开启Rewrite功能
RewriteEngine On
# 将www.aa.com解析到/aa目录
RewriteCond %{HTTP_HOST} ^(www.)?aa.com$
RewriteCond %{REQUEST_URI} !^/aa/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /aa/$1
RewriteCond %{HTTP_HOST} ^(www.)?aa.com$
RewriteRule ^(/)?$ aa/ [L]
# 将www.xx.com解析到/xx目录
RewriteCond %{HTTP_HOST} ^(www.)?xx.com$ 
RewriteCond %{REQUEST_URI} !^/xx/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /xx/$1 
RewriteCond %{HTTP_HOST} ^(www.)?xx.com$ 
RewriteRule ^(/)?$ xx/ [L]
# 将www.oo.com解析到/oo目录
RewriteCond %{HTTP_HOST} ^(www.)?oo.com$ 
RewriteCond %{REQUEST_URI} !^/oo/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /oo/$1 
RewriteCond %{HTTP_HOST} ^(www.)?oo.com$ 
RewriteRule ^(/)?$ oo/ [L]
</IfModule>

根据自己需要去替换上面的域名和目录。 网上有很多是复制粘贴的,我之前使用过发现没效果。

之后分别在两个子目录 /aa 和 /xx、/oo 建立 .htaccess 文件,内容分别如下:

/aa/.htaccess  (文件路径)

 

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /aa
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /aa/ [L]
</IfModule>
/xx/.htaccess (文件路径)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /xx
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /xx/ [L]
</IfModule>
/oo/.htaccess (文件路径)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /oo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /oo/ [L]
</IfModule>

完成以上步骤,则可以实现 www.aa.com 访问 /aa 和 www.xx.com 访问 /xx  还有 www.oo.com 访问 /oo  的功能。

以上方法可同时增加多个域名和网站。

未经允许不得转载:李内涵 » 基于Apache空间利用htaccess绑定多个子目录搭建多个网站
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!