我正在缓存完整的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。修改我的规则以检查真实文件名的最佳方法是什么?
答案 0 :(得分:0)
我猜CSA(查询字符串追加)标志不适用,但如果我正确理解了您的问题,您可以匹配RewriteCond中的查询字符串并将其附加到RewriteRule
RewriteCond %{QUERY_STRING} ^([.*)$
然后可以在RewriteRule中以%n的形式访问。