急求一正则表达式写法,比较有挑战性。谢谢各位的时间了

cdurl 2012-04-27 12:22:31
有一个urlrewrite的需要,提出了一个怪异的regex写法。
我来说下要求,例如有如下请求:


以上为一个样例

^http://(.*)?/files/(.+)$ ^http://$1/index.php/files/$2

这个正则表达式大致分2个部分,host部分,和path部分,也就是正则的结果$1,$2
想必大家看懂了我的意思.
1,2条链接使用上面的正则表达式没有问题。

但是下面到了第3条问题就来了,因为扩展名.gif的文件,是不需要重写url的。
那么我需要正则表达式绕过第3条。
但是第4条,目录中出现了"."但是他不是有扩展名的文件 ,所以需要重写。

总结来说,就是 url中的 path 长度不定,但是如果最后的“/”号后有“.”出现,就认为是文件,不予重写,

兄弟们谁有高见?愿闻其详
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdurl 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
有一个urlrewrite的需要,提出了一个怪异的regex写法。
我来说下要求,例如有如下请求:

1,http://gongzheng.mu19.com/category/dbswgzs
2,http://gongzheng.mu19.com/category/dbcggzjxgcl/

3,http://gongzheng.mu19.com/wp-content/uploads/……
[/Quote]
兄弟,谢谢了。但是我的问题特殊,实在是只能要纯正则解决的,其他方法的话,我条件受限啊。 而且说一下,不是 apache 下运行的,目前使用的是特殊版的reurl工具,只是支持正则表达式,别的目前都不行。。
qq120848369 2012-04-27
  • 打赏
  • 举报
回复
RewriteCond ! 是取反的意思。
cdurl 2012-04-27
  • 打赏
  • 举报
回复
急啊,自己顶一下。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧