如何写一个htaccess重写规则来获取这样的链接?

时间:2013-08-25 21:49:32

标签: .htaccess mod-rewrite url-rewriting

我希望重写规则具有以下行为。

如果网址为:

/users

它会用index.php?template = users

重写

如果是的话:

/users?id=2

它将使用index.php?template = users& id = 2重写,因为URL中有很多变量。这意味着即使我使用

/users?id=2&action=edit&something=no&something_else=yes

我希望传递所有这些变量,从而获得/index.php?template=usersid=2&action=edit&something=no&something_else=yes


到目前为止,我的htaccess规则一直是:

RewriteRule ^([^\.]+)$ index.php?template=$1

但有了这个,我不能像我想的那样使用带有问号的URL。相反,我必须使用/ users& id = 2,这看起来很傻。

我已经google了很多,但解决方案要么不起作用,要么与我的情况不太相似,以便我适应它们并得到我想要的东西。

1 个答案:

答案 0 :(得分:1)

你想要的是QSA标志,查询字符串追加,如果你有更多的参数,它会将其余的查询字符串添加到重定向规则:

RewriteRule ^([^/]+)$ /index.php?template=$1 [QSA,L]