2013年1月9日星期三

【转】htaccess重写绑定多个顶级域名到同一空间

首先要说下前提条件:
1.空间支持rewrite
2.空间最好是有park domain选项
3.空间最好是Linux空间.Windows可能不会成功

这个方法适用于想一个空间绑定多个顶级域名的朋友,众所周知,一个空间可以绑定一个顶级域名,有限的二级域名,这个方法也适用于000webhost不能绑定顶级域名的朋友,或者其他的免费空间想绑定多个顶级域名的用户

首先,你需要一个顶级域名,如果你有顶级域名的话,跳过这一步,如果你没有的话,可以试试用免费的顶级域名来试试,这里我演示的是000webhost的免费空间和tk免费顶级域名

因为某些原因我的000webhost不能够绑定顶级域名,于是借助于重写来实现子目录绑定顶级域名

1.首先,登陆你的空间提供商的管理界面,找到park domain(注意不是Add-on Domain),输入你想绑定的顶级域名,这里以000webhost为演示
选择parked-domain->输入你要停放的域名_>park domain -> 成功出现在面板中(我输入的是kuaile.tk)

parked域名

输入顶级域名

第二步 :参看服务器的地址,获得DNS解析的A地址,如图所示(各个空间的查看方法不同,这里以000webhost为例查看帐户信息)

得到IP地址

这里特别说明下,也可以查看服务器的绑定IP,关键是看服务器绑定时给你的IP,如果是000webhost免费空间的话,是上面的那个IP

第三步 :到域名注册商哪里增加DNS解析
解析类型为A,地址为上面的地址

第四步:登陆空间的FTP,在空间的.htaccess文件中增加以下的代码,如果没有htaccess文件,本地创建一个空的文本文档,上传至根目录,然后修改名称为.htaccess也可以,再在空间的根目录下创建一个以顶级域名为名称的目录,比如这里我创建的目录名称为kuaile.tk代码如下:
<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} ^kuaile.tk[NC]
RewriteRule ^(.*)$ http://kuaile.tk/$1 [L,R=301]
# 将域名绑定在特定的目录当中。kuaile.tk是我建立的文件目录,用你的顶级域名替换kuaile.tk就可以了
RewriteCond %{HTTP_HOST} ^(www.)?kuaile.tk$ [NC]
RewriteRule ^(.*)$ /kuaile.tk/$1 [L]
</IfModule>
然后,在刚才创建的目录中同样创建一个.htaccess文件,写入下面的代码:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /kuaile.tk/
</IfModule>
接下来的事情就是上传程序到创建的目录中了,另外注意一点,tk顶级域名修改dns生效需要一定的时间,大约2-3小时,时间不一定,

没有评论: