【问题标题】:Disable QSA in IIS Mod-Rewrite在 IIS Mod-Rewrite 中禁用 QSA
【发布时间】:2023-03-05 05:12:01
【问题描述】:

所以我有 http://www .domain.com/page.cfm?var=test 重定向到 http://www .domain.com/404.cfm?var=test

我不希望在重定向时将变量字符串包含在 url 中。关键是我没有 QSA。

那么,对于 IIS Mod-Rewrite,QSA 是否默认开启?如果是这样,我该如何关闭它?

RewriteRule ^(?:factory_outlets|public_stock_detail)\.(?:html|cfm) http://www.domain.com/404.cfm [R=404,L]

【问题讨论】:

    标签: iis mod-rewrite


    【解决方案1】:

    通常,您需要在替换中指定一个查询,如下所示:

    RewriteRule ^(?:factory_outlets|public_stock_detail)\.(?:html|cfm) http://www.example.com/404.cfm? [R=404,L]
    

    但是内部重写就足够了:

    RewriteRule ^(?:factory_outlets|public_stock_detail)\.(?:html|cfm) /404.cfm [R=404,L]
    

    此外,外部重定向总是产生 3xx 响应。

    【讨论】:

    • 添加 ?到重定向的最后做了诀窍。谢谢。不知道你指的是什么关于 3xx 重定向,我没有说这些。
    • @CreativeNotice:将绝对 URL 指定为您的目的地总是会在外部重定向中产生。无论您的 R 标志是什么,这始终是 3xx 响应。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 2012-07-21
    • 2011-02-04
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多