域名绑定子目录伪静态规则

作者:浮夸的晓编 分类:互联网 发布于:2014-11-5
  由于网站的发展需要,许多网站都需要绑定二级域名。而且在web服务器当中绑定子目录是最常见的建站运营方式之一。下面小编使用伪静态来实现子目录绑定功能。

  工具/原料

  apache程序或IIS+ISAPI_REWRITE

  .htaccess或httpd.ini

  步骤/方法

  通过伪静态规则实现子目录绑定:apache+.htaccess或IIS+ISAPI_REWRITE+httpd.ini

  Apache HTTP Server一般安装在类Linux服务器上,默认支持URL重写,一般虚拟主机用户将.htaccess文件放网站根目录就可以实现伪静态了,使用下面的伪静态规则就可以实现子目录绑定。

  RewriteEngineon

  #把qing.ifukua.com改为你要绑定的域名,把qing改为要绑定的目录

  RewriteCond%{HTTP_HOST}^(www.)?qing.ifukua.com$

  RewriteCond%{REQUEST_URI}!^/qing/

  #不要改以下两行.

  RewriteCond%{REQUEST_FILENAME}!-f

  RewriteCond%{REQUEST_FILENAME}!-d

  #把IPdir改为要绑定的目录.

  RewriteRule^(.*)$/qing/$1

  #把qing.ifukua.com改为你要绑定的域名

  #把qing改为要绑定的目录.

  ..

  RewriteCond%{HTTP_HOST}^(www.)?qing.ifukua.com$

  RewriteRule^(/)?$qing/[L]

  增加子目录绑定时,将上面代码除了第一行之外全部复制一遍并做相应修改后,粘贴到上面的规则后面即可。

  如果根目录也绑定其它域名的话,可以通过子目录访问子站,就会导致子站文件多出个访问URL,建议不要在根目录绑定其它域名;当然,如果绑定子目录都是一级目录sub Domain下的子目录,可以通过robots.txt禁止收录sub Domain目录,这样就不用担心上面的问题了。在robots.txt增加如下一行即可禁止搜索引擎在收录主站时收录该子目录(不过子网站之间似乎有点乱)。

  Disallow:/Disallow

  对于IIS+ISAPI_REWRITE+httpd.ini的情况,如下内容的httpd.ini可以让子网站根目录(仅http://qing.ifukua.com/和对应的域名这2个网址)重写到子目录。

  [ISAPI_Rewrite]

  #3600=1hour

  CacheClockRate3600

  RepeatLimit32

  #把yourdomain.com改为你要绑定的域名

  RewriteCondHost:^(www\.)?qing\.ifukua\.com$

  RewriteRule^(/)$/qing/[L]

  增加如下规则可以让以http://qing.ifukua.com/11/(这里的域名也可能是www子域名)开头的所有url实现重写,实际地址是将ip.caoger.net/about/为qing.ifukua.com/qing/11/。

  RewriteRule^/11/(.*)$/qing/11/$1[L]

  需要重写多个(或多类)目录或文件,就要多增加几条规则。增加多个子目录,也是需要些重复劳动。显然,IIS+ISAPI_REWRITE+httpd.ini下的规则写起来比apache+.htaccess下的麻烦多了。