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