.htaccess URL重写问题与查询参数

时间:2017-06-27 14:01:49

标签: regex apache .htaccess

我有一个像这样的.htaccess规则

RewriteRule ^account/(.*) myaccount.php?p=$1 [NC,L]

这适用于https://www.example.com/account/abcd等网址。 但是,现在我想将查询参数传递给此URL,例如https://www.example.com/account/abcd?ab=1&cd=2

无法找出可以容纳此内容的确切.htaccess规则。 有什么指针吗?

1 个答案:

答案 0 :(得分:2)

使用:

RewriteRule ^account/(.*) myaccount.php?p=$1 [QSA,NC,L]

使用QSA:

  

<强> QSA | qsappend
  当替换URI包含查询字符串时,   RewriteRule的默认行为是放弃现有查询   string,并将其替换为新生成的字符串。使用[QSA]   flag会导致查询字符串合并。
  http://httpd.apache.org/docs/current/rewrite/flags.html