Apache .htaccess重写任意查询字符串
我正在尝试以下重写Apache .htaccess重写任意查询字符串,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在尝试以下重写 1。 http://domain.cm/app/user/view?group=3&userid=34 到http://domain.cm/app/user/view/group/3/userid/34 2。http://domain.com/app/class/edit?classid=13 到 http://domain.com/app/class/edit/classid/13 这是否可以通过一条规则实现?我有很多这样的URL需要重写,并且为每个URL创建一个规则看起来
1。
http://domain.cm/app/user/view?group=3&userid=34
到http://domain.cm/app/user/view/group/3/userid/34
2。http://domain.com/app/class/edit?classid=13
到
http://domain.com/app/class/edit/classid/13
这是否可以通过一条规则实现?我有很多这样的URL需要重写,并且为每个URL创建一个规则看起来非常多余。不,您需要单独的规则(至少对于您提供的示例而言)。您可以尝试类似的方法,尽管它可能有点急于匹配任何内容: 如果您提出以下要求,情况就是如此:
http://domain.com/app/class/edit/classid/13
你可以在
/app/class/edit?classid=13
它可以处理多达6个路径节点,因此:
http://domain.com/app/a/1/b/2/c/3
将被路由到:
/app/a/1?b=2&c=3
更多信息,只需在
$
之前添加另一个(?:([^/]+)/|)(?:([^/]+)/?|)
,并在规则目标的末尾添加一个&$7=$8
。谢谢,不过我只想重写URL。我的应用程序正在使用带有查询字符串的URL,现在我需要更改它们在浏览器地址栏上的显示方式。
/app/a/1?b=2&c=3