加入收藏 | 设为首页 | 会员中心 | 我要投稿 安阳站长网 (https://www.0372zz.cn/)- 高性能计算、分布式云、混合云存储、云计算、视频终端!
当前位置: 首页 > 服务器 > 系统 > 正文

通过伪静态规则实现子目录绑定

发布时间:2022-02-25 13:11:40 所属栏目:系统 来源:互联网
导读:通过伪静态规则实现子目录绑定:apache+.htaccess或IIS+ISAPI_REWRITE+httpd.ini Apache HTTP Server一般安装在类Linux服务器上,默认支持URL重写,一般虚拟主机用户将.htaccess文件放网站根目录就可以实现伪静态了,使用下面的伪静态规则就可以实现子目录绑
  通过伪静态规则实现子目录绑定:apache+.htaccess或IIS+ISAPI_REWRITE+httpd.ini
 
  Apache HTTP Server一般安装在类Linux服务器上,默认支持URL重写,一般虚拟主机用户将.htaccess文件放网站根目录就可以实现伪静态了,使用下面的伪静态规则就可以实现子目录绑定。
 
  RewriteEngine on
  # 把 ip.caoger.net 改为你要绑定的域名,把 IPdir 改为要绑定的目录
  RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$
  RewriteCond %{REQUEST_URI} !^/IPdir/
 
  # 不要改以下两行.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
 
  # 把 IPdir 改为要绑定的目录.
  RewriteRule ^(.*)$ /IPdir/$1
 
  # 把ip.caoger.net 改为你要绑定的域名
  # 把 IPdir 改为要绑定的目录.
  ..
  RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$
  RewriteRule ^(/)?$ IPdir/ [L]
 
  增加子目录绑定时,将上面代码除了第一行之外全部复制一遍并做相应修改后,粘贴到上面的规则后面即可。
 
  如果根目录也绑定其它域名的话,可以通过子目录访问子站,就会导致子站文件多出个访问URL,建议不要在根目录绑定其它域名;当然,如果绑定子目录都是一级目录subDomain下的子目录,可以通过robots.txt禁止收录subDomain目录,这样就不用担心上面的问题了。可以使用DisallowDirdh88eghsjkk8834取代前面的subDomain,然后在robots.txt增加如下一行即可禁止搜索引擎在收录主站时收录该子目录(不过子网站之间似乎有点乱)。
 
  Disallow: /Disallow
 
  对于IIS+ISAPI_REWRITE+httpd.ini的情况,如下内容的httpd.ini可以让子网站根目录(仅http://ip.caoger.net/和对应的www子域名这2个网址)重写到子目录。
 
  [ISAPI_Rewrite]
  # 3600 = 1 hour
  CacheClockRate 3600
  RepeatLimit 32
 
  # 把 yourdomain.com 改为你要绑定的域名
  RewriteCond Host: ^(www/.)?ip/.caoger/.net$
  RewriteRule ^(/)$ /IPdir/ [L]
 
  增加如下规则可以让以http://ip.caoger.net/about/(这里的域名也可能是www子域名)开头的所有url实现重写,实际地址是将ip.caoger.net/about/为ip.caoger.net/IPdir/about/。
 
  RewriteRule ^/about/(.*)$ /IPdir/about/$1 [L]
 
  需要重写多个(或多类)目录或文件,就要多增加几条规则。增加多个子目录,也是需要些重复劳动。显然,IIS+ISAPI_REWRITE+httpd.ini下的规则写起来比apache+.htaccess下的麻烦多了。

(编辑:安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读