在IIS Mod Rewrite中禁用QSA

在IIS Mod Rewrite中禁用QSA,iis,mod-rewrite,Iis,Mod Rewrite,所以我将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.do

所以我将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]

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

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的响应。