如何在RewriteRules中选择问号?

时间:2017-06-08 13:20:42

标签: regex .htaccess mod-rewrite

我有这个网址:

www.example.com/chk-error/errcat=5&errcd=514&id=12&in=gt5

我可以使用以下RewriteRule获取:

RewriteRule ^chk-error/(.*) chk_err.php?error=$1 [L]

现在我需要抓住这个网址:

www.example.com/chk-error/?errcat=5&errcd=514&id=12&in=gt5

这几乎是相同但只有问号" chk-error / "。

我想让它成为可选的。我的意思是,我希望RewriteRule在不带问号的情况下使用OR抓取两个网址。

1 个答案:

答案 0 :(得分:1)

您的第二个网址包含Querystring。要获取部分查询字符串,您需要匹配%{QUERY_STRING}变量,尝试此规则来处理您的第二个网址

RewriteCond %{QUERY_STRING} (.+)
RewriteRule ^chk-error/$ chk-error.php?error=%1 [L]