htaccess url重写,查询参数在脚本中不可用

时间:2013-06-10 10:59:13

标签: php url-rewriting query-parameters

我使用以下规则来重写目录样式中的网址

RewriteRule ^post/([0-9]+)$ post.php?pid=$1

使用此功能我将localhost/post.php?pid=3定向到localhost/post/3

但现在我想以默认方式传递更多参数,例如?key=value

例如localhost/post/3?comment_id=23 但是这个键值对在脚本中不可用。 当我做echo $_GET['comment_id']时,它不会回应任何东西。

我如何完成它。

1 个答案:

答案 0 :(得分:1)

您需要使用QSA(查询字符串追加)标志。将您的规则更改为:

RewriteRule ^post/([0-9]+)$ post.php?pid=$1 [L,QSA]

QSA标志将附加pid查询参数,同时在URI中保留原始查询字符串,因此您可以这样做:

$_GET['comment_id']

还有:

$_GET['pid']