将QUERY_STRING附加到mod_rewrtie中的REQUEST_URI

时间:2013-02-27 12:55:14

标签: mod-rewrite rewrite

我正在缓存完整的HTML网页。每个缓存文件都被命名为PHP的REQUEST_URI。 PHP的REQUEST_URL!= mod_rewrite REQUEST_URI。 PHP保存文件,因为我希望它们是“/ foo / bar / file?var1 = a& varb = 2”。我的重写规则

RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{DOCUMENT_ROOT}/cached/%{REQUEST_URI}\.html -f
RewriteRule .* cached/%{REQUEST_URI}\.html [L]

显然会失败,因为未附加QUERY_STRING。修改我的规则以检查真实文件名的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我猜CSA(查询字符串追加)标志不适用,但如果我正确理解了您的问题,您可以匹配RewriteCond中的查询字符串并将其附加到RewriteRule

RewriteCond %{QUERY_STRING} ^([.*)$

然后可以在RewriteRule中以%n的形式访问。