.htaccess rewriterrule保留参数


.htaccess rewriterule keep parameters

目前在我的。htaccess文件中有这一行:

RewriteRule ^(20'd'd)/([A-Za-z0-9-]+)/$ /test/?type=post&year=$1&title=$2 [L]

允许这样的URL:

/test/?type=post&year=2014&title=hello

可以这样访问:

/test/2014/hello/

然而,有时我在重写的URL上甚至有另一个GET变量:

/test/2014/hello/?page=2

但是,get变量page不会被页面上的PHP文件读取。换句话说,我如何修改我的。htaccess文件,以允许PHP文件使用和读取其他get变量(添加到重写的URL上)?

您需要在重写规则中添加一个QSA标志,使括号看起来像这样:

[L,QSA]

这告诉apache将任何现有的查询字符串附加到目标(mode=allBrands)中的新查询字符串。

更多信息:https://cwiki.apache.org/confluence/display/HTTPD/RewriteFlags+QSA