0

我正在缓存完整的 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。修改我的规则以检查真实文件名的最佳方法是什么?

4

1 回答 1

0

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

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

然后可以在 RewriteRule 中作为 %n 访问。

于 2013-02-27T13:01:46.967 回答