【问题标题】:Attaching QUERY_STRING to REQUEST_URI in mod_rewrtie在 mod_rewrtie 中将 QUERY_STRING 附加到 REQUEST_URI
【发布时间】:2013-02-13 07:03:35
【问题描述】:

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

【问题讨论】:

    标签: mod-rewrite rewrite


    【解决方案1】:

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

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

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

    【讨论】:

    • 哦,很抱歉我的介绍性句子,很可能我需要重新阅读您的问题 - 从我可以看到您不仅仅是在附加现有查询字符串之后。再次,我很抱歉。不过,您的问题似乎对您要达到的目标并不十分清楚。也许您可以添加一个输入示例和所需结果。
    • 我想它可以回答我的问题。谢谢你。
    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多