国内虚拟主机商一般一个主机只提供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,要加新的域名时,只需要在上面按格式添加即可。