在apache rewrite中使用包含?的url重定向

edwardpro 2007-11-12 03:59:51
现在需要这样的rewrite

/admin/article/?id=123&cat=5 => /?action=admin&method=article&id=123&cat=5

我现在这样写的:

RewriteRule /(.*)/(.*)/\?(.*) /index.php?action=$1&method=$2&$3

但这样似乎后面的参数都丢失了,哪位知道应该怎么做?
...全文
114 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SilverFox2005 2008-01-09
  • 打赏
  • 举报
回复
因为是贪婪模式,你第一个(.*)就包含了所有的字符串,后面自然就匹配不到了,结果当然为空。

^/([^/]*)/([^/]*)/\?(.*)$
lixinbill 2008-01-08
  • 打赏
  • 举报
回复
RewriteRule /(.*)/(.*)/\?(.*) LZ 正则不能这样写的,你写一堆*.......系统会找不到 就像JAVA中导入包一样 你不能import *.*.*要写出具体内容或限定(LZ好象不是搞JAVA的..没关系,道理一样) 关于正则的东西 你去 http://unibetter.com/deerchao/zhengzhe-biaodashi-jiaocheng-se.htm 学吧 挺全的 (正则也不难) 然后根据自己的业务需要去写正则吧 ,怕写的正则有问题的话 你可以下一个检查正则的工具 我现在用的是 The Regex Coach 你去找找下一个吧.....我也遇到了 apache的问题 是关于apache实现域名解析的问题 比较头疼(LZ你懂的话来点指点 哈哈).好了 最后祝LZ好运
任亚军 2008-01-07
  • 打赏
  • 举报
回复
RewriteRule ^/(\w+)/(\w+)/\?id=([0-9]+)&cat=([0-9]+)$ /?action=$1&method=$2&id=$3&cat=$4

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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