如何在url-rewriting阻塞时获取更多参数呢?

时间:2013-01-22 11:18:28

标签: php .htaccess url-rewriting

有一件事:

我的.htaccess中有此Url重写条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([-A-Za-z0-9]+)/([A-Za-z0-9\-_]+) app.php?pattern=$1&content=$2 [L]

然后,它与此url完美配合,例如: www.mysite.com/pony/mycontent

但是当我尝试添加一些像这样的Http GET参数时: www.mysite.com/pony/mycontent?moreparameter=true

var_dump($ _ GET)给我回复:

array (size=2)
  'pattern' => string 'pony' (length=4)
  'content' => string 'mycontent' (length=8)

没有更多的价值......

如何检索其他参数?

1 个答案:

答案 0 :(得分:2)

您可能想尝试将“查询字符串追加”标记(QSA)添加到RewriteRule -

RewriteRule ^([-A-Za-z0-9]+)... app.php?pattern=$1&content=$2 [QSA,L]
  

QSA | qsappend - 当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会导致组合查询字符串。

Read more here