07
2017
02

通过htaccess绑定二级域名到子目录的方法

国内虚拟主机商一般一个主机只提供1个域名绑定,而不支持多个子域名。这时候我们可以自己通过.htaccess文件设置重定向,把二级域名绑定到指定的子目录。
先把要绑定的域名A记录或CNAME也指向和主域名所在的主机IP,然后可以.htaccess通过如下代码绑定相应文件夹:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
RewriteEngine on

RewriteCond %{HTTP_HOST} ^SLD.domain.com$
 
RewriteCond %{REQUEST_URI} !^/Catalog/
 
RewriteCond %{REQUEST_FILENAME} !-f
 
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteRule ^(.*)/Catalog/$1
 
RewriteCond %{HTTP_HOST} ^SLD.domain.com$
 
RewriteRule ^(/)?$ Catalog/index.php [L]

二级域名
SLD ( second-level domain ); 

如果很多个二级域名都指定的话,每个都这么写.htaccess文件就会非常庞大臃肿,可以使用以下正则匹配写法:

1
2
RewriteCond %{HTTP_HOST} ^(SLD1|SLD2|SLD3).domain.com$
RewriteRule ^(.*)/%1/$1 [L, NC]

这样,会自动把SLD1对应到Catalog1目录,SLD2对应到Catalog2目录,SLD3对应到Catalog3,要加新的域名时,只需要在上面按格式添加即可。


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

扫一扫,加我为微信好友