重写规则中的条件第二个查询

时间:2014-07-09 13:31:39

标签: php .htaccess

目前,我在.htaccess文件中有一条规则,它会缩短网址:

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [NC,L]

使最终的URL看起来像:

mydomain.com/jobXXXXXX

是否可以容纳第二个查询是用户更改我的URL这样的?

mydomain.com/jobXXXXXX?token=123

我也需要能够获取该标记值。

也许有办法以某种方式添加条件$ 2?我已经尝试了QSA标志,但它对我不起作用。也许我的Apache版本太旧了...... 2.2.3(CentOS)

我可以使用哪种解决方案,另一种重写规则,或者可能与PHP结合使用。我被卡住了。


更新

NM ......我认为问题出在我的PHP中,而不是.htaccess

2 个答案:

答案 0 :(得分:1)

您在谈论QSA flag吗?

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1 [QSA,NC,L]

QSA标志应该有效。我现在用它5年了。

答案 1 :(得分:0)

在重写目标中使用%{QUERY_STRING}来访问查询字符串。类似的东西:

RewriteRule ^job(.*)$ /include/myfile.incl.php?proj=$1&%{QUERY_STRING} [NC,L]