欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

利用.htaccess将多个域名绑定到同一空间

shiping1 的头像

在工作中遇到将多个域名绑定到一个空间上,
折腾一番然后用Apache的.htaccess解决了这个问题。
其实原理就是判断访问的域名然后指向不同的目录。
很简单,就直接贴内容了


代码里内容简述
m.heqee.com 和 wap.NAME.com 指向目录 wap
aaa.com/www.aaa.com 指向目录 aaa
bbb.com/www.bbb.com 指向目录 bbb

 <IfModule mod_rewrite.c>
  RewriteEngine on
  #301
  rewritecond %{http_host} ^NAME.com.biz [nc]
  rewriterule ^(.*)$ http://www.NAME.com/$1 [r=301,nc]
 
  # m/wap.heqee.com 二级目录
  RewriteCond %{REQUEST_URI} !^/wap/.*
  RewriteCond %{HTTP_HOST} ^wap.NAME.com$ [OR]
  RewriteCond %{HTTP_HOST} ^m.NAME.com$
  RewriteRule ^(.*) /wap/$1 [L]
 
  # aaa.com 域名aaa.com
  RewriteCond %{REQUEST_URI} !^/aaa/.*
  RewriteCond %{HTTP_HOST} ^aaa.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.aaa.com$
  RewriteRule ^(.*) /aaa/$1 [L]
 
  # bbb.com 域名bbb.com
  RewriteCond %{REQUEST_URI} !^/bbb/.*
  RewriteCond %{HTTP_HOST} ^bbb.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.bbb.com$
  RewriteRule ^(.*) /bbb/$1 [L]
</IfModule>

 

 

来自 http://wenku.baidu.com/view/d01bb064783e0912a2162a37.html

 

 

利用.htaccess实现一个空间多域名多目录绑定  (好像不太好)

#根下的
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^enomos\.cn$ [NC]
RewriteRule ^(.*)$ enomos_wwwroot/$1 [L]

RewriteCond %{HTTP_HOST} ^nicss\.cn$ [NC]
RewriteRule ^(.*)$ nicss_wwwroot/$1 [L]

#子下面
RewriteEngine on
RewriteBase /enomos_wwwroot

RewriteCond %{HTTP_HOST} !^enomos\.cn$
RewriteRule $(.*)$ http://www.163.com/ [R,L]

上面保存为两个.htaccess 一个放在根下一个放在子目录(绑定的目录下) 
这是真正的利用.htaccess一个空间多域名多目录实现域名绑定的

来自 http://www.getroad.cn/blog/?action=show&id=601

 

 

.htaccess代码如下,注意你可能需要作一些调整和修改,注释我已经写在旁边了。PS:我的Godaddy的空间原来的域名是baidu0.tk,我利用.htaccess重写将另一个域名0baidu.tk绑定到另外一个目录当中,这样我利用Godaddy经济型空间建立了多个网站(原来是不具备这个功能的)。

  • <IfModule mod_rewrite.c>
    # 关闭目录列表
    Options -Indexes
    RewriteEngine on
    # 预设页面
    DirectoryIndex default.html index.html default.html index.htm default.php index.php
    # 统一网址,去掉www。如果你想保留www,自己在第二行添加
    RewriteCond %{HTTP_HOST} ^0baidu.tk[NC]
    RewriteRule ^(.*)$ http://0baidu.tk/$1 [L,R=301]
    # 将域名绑定在特定的目录当中。0baiud.tk是我建立的文件目录
    RewriteCond %{HTTP_HOST} ^(www.)?0baidu.tk$ [NC]
    RewriteRule ^(.*)$ /0baidu.tk/$1 [L]
    </IfModule>

1、再将下面的代码按照上面的方法保存为.htaccess,上传到你想要将域名绑定的目录文件夹当中,例如我想将0baidu.tk这个域名绑定在0baidu.tk这个文件夹当中,那么我用FTP新建了0baidu.tk文件夹,将.htaccess文件放在这里。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /0baidu.tk/
</IfModule>

2、完成以上步骤后,我们就已经成功利用.htaccess重写在Godaddy经济型号的空间上建立起了多个域名多个站点了,如果你以后想建立三个站,甚至更多的站,按照上面的方法,选择绑定好域名,然后添加.htaccess语句即可。

3、利用.htaccess建立多个域名和多个站点演示(我放在Godaddy上,型号是Godaddy Economy 4GB空间):


 

普通分类: