我的主机商很抠门,给我的子域名只有有限几个。之前我都是安安分分地在主机商给我的子域名限制内绑定子域名,直到前几天“.htaccess绑定域名”这几个字不小心被我看到了,于是我兴奋地开始了实验历程……
说明
网络上的方法有些绑定会有问题、有些会造成500错误、有些能绑定,但访问子域名下index.php居然会出错,访问其他文件却没事……在查找了无数资料和实验了无数次后,终于搞出了个基本完美的方案。
先声明一下,本方法适用于那些抠门主机商只给予很少的子域名绑定或者顶级域名,当然如果你的服务商给你开放了无限的域名绑定你还喜欢这样搞我也不反对……不过这样子绑定是肯定没有用官方的绑定方法来得好的。
我使用的是独立IP,所以只要做了A记录就能用子域名访问根域名的内容。如果你不是独立IP,你就需要使用域名的泛解析了。在DNS将的A记录指向虚拟主机,再在服务器里绑定*这个子域名就可以了。如果你的DNS提供商或主机的后台控制面板不支持泛解析的话我就没办法了……
代码
设置好后在.htaccess中使用的代码如下,根据实际情况进行修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#判断模块是否存在以防不测 <ifmodule mod_rewrite.c> #开启重写 RewriteEngine on #文件重写,不要修改 RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} !-d #修改域名为你要绑定的域名或子域名 RewriteCond %{HTTP_HOST} ^(.*\.)?test.kugeek.com$ #修改文件夹为你要绑定的文件夹 RewriteCond %{REQUEST_URI} !^/test/ #修改test为你要绑定的文件夹 RewriteRule ^(.*)$ /test/$1 #不要删除其他东西,否则会出现500错误 </ifmodule> |
经测试完美绑定子域名,访问index.php也不会出错。以上方法还可以绑定其他域名到文件夹(前提是你的虚拟主机是独立IP)
这个方法有什么副作用还有待验证。