这个方法是要求空间支持.htaccess!

很多虚拟空间商都会限制空间的绑定域名数量,非常坑爹。我在用的1米主机就算比较好的了,限制我添加5个Sub Domains,两个Parked Domains。像http://m.aapple.info这种不用空间的子域名也要占用一个子域名,其实5个子域名真的不怎么够用。所以我得另辟蹊径,以绑定更多的子域名。

准备

首先得把域名绑定绑定了,比如把bbs.aapple.info解析到你空间的IP; 然后在控制面板通过Pank Domian添加你的域名,也可以添加DNS记录,很多空间限制停放域名(Park Domain),但是不限制修改DNS记录。还有反绑也是可行的。确保能通过子域名访问根目录下的网站。

接下来是重点

当然就是修改.htaccess 检查网站根目录下的.htaccess文件,看是否有下面这几行代码,若没有(PS:弄了伪静态的网站肯定有),添加进去。

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /

绑定bbs.aapple.info到bbs子目录

  1. RewriteCond %{HTTP_HOST} ^bbs.aapple.info$
  2. RewriteCond %{REQUEST_URI} !^/bbs/
  3. RewriteRule ^(.*)$ bbs/$1?Rewrite
可以绑定多个只需重复上三行代码并更改一下域名、目录名(资料夹)就好了

如果你完成了上面的步骤你的子域名应该可以访问了但你会发现在浏览器上访问主域名+绑定的域名目录也可以访问,可这并不是我们想要的接下来我们完成最后一步; 在每一个绑定的目录中如bbs目录中也增加一个.htaccess 文件;

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /
  4. #只许绑定的域名访问
  5. RewriteCond %{HTTP_HOST} !^bbs.aapple.info$ [NC]
  6. RewriteRule (.*) http://bbs.aapple.info/$1 [L,R=301]
  7. #对绑定目录下与 同名的目录的处理
  8. RewriteCond %{REQUEST_URI} ^/bbs/ [NC]
  9. RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
  10. RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
  11. </IfModule>

到此,大告工成。当然,如果你不会正则,那有个比较适合你的办法

子目录绑定管理系统:http://blog.phpclubs.com

子目录绑定管理系统