apache rewrite 出现死循环

回复 收藏
我的一条规则
  1. RewriteRule ^(.*) /111/$1 [R,L]
使用curl测试,没有问题,但是使用浏览器访问时,出现了无限循环。
本来访问的是 www.111.com 结果变成了  www.111.com/111/111/111/.....
虽然在最后加了 [L] 依然不管用,可能apache还是不够智能,一直满足条件就一直去匹配,一直去跳转。最后没招了只能再加一个条件。
  1. RewriteCond   %{REQUEST_URI} !^/111
  2. RewriteRule ^(.*) /111/$1 [R,L]
这样就不再循环了。
2012-05-23 15:43 举报
已邀请:
0

阿铭 管理员

赞同来自:

今天网上瞎逛,又发现一种rewritecond 的方式
  1. RewriteCond   $1 !^/111
  2. RewriteRule ^(.*) /111/$1 [R,L]
对于 !^所匹配的对象,我们还可以写成多个一起的形式。
  1. RewriteCond   %{REQUEST_URI}  !^(/111|/222|/333|index.php)
0

xiaotuanyu120

赞同来自:

阿铭 发表于 2012-6-5 17:19
今天网上瞎逛,又发现一种rewritecond 的方式对于 !^所匹配的对象,我们还可以写成多个一起的形式。

网上瞎逛还能整理资料——现在拼的不是知识储备,而是信息筛选、搜集和总结能力呀
1

奋斗的种子

赞同来自: 王少君

不错
0

wanmei

赞同来自:

学习
0

riverxyz

赞同来自:

有点不理解,RewriteRule ^(.*) /111/$1 [R,L]这个跳转本意是让他访问www.xxx.com/111/xxx吗?结果他后面无限循环就是变成www.xxx.com/111/111/111这样吗?
加的那个条件的意思能不能解释下呢?
0

623841176

赞同来自:

这个问题我换了个访问就解决了,
0

llill

赞同来自:

学习,非常感谢!

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: