如何使用IIS URL Rewrite仅移除指定链接的完整query string
IIS URL Rewrite规则:移除特定链接的Query String
要实现仅针对http://www.domainname.com/contact/grant-application(无论后面带什么Query String)重写为不带Query String的版本,你可以直接在网站的web.config文件中添加以下URL Rewrite规则:
<configuration> <system.webServer> <rewrite> <rules> <rule name="Remove Grant App Query String" stopProcessing="true"> <!-- 精确匹配指定路径 --> <match url="^contact/grant-application$" /> <conditions> <!-- 检查是否存在任意Query String --> <add input="{QUERY_STRING}" pattern=".*" /> </conditions> <!-- 重写为不带Query String的目标路径 --> <action type="Rewrite" url="/contact/grant-application" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
规则细节说明:
name:自定义规则名称,方便后续识别维护match url:用^和$确保完全匹配/contact/grant-application路径,不会误匹配其他类似路径conditions:通过{QUERY_STRING}变量检查是否存在非空的Query内容,只有满足条件才触发规则action type="Rewrite":服务器内部重写,浏览器地址栏不会发生变化;如果需要地址栏同步更新为不带Query的URL,把Rewrite改成Redirect即可stopProcessing="true":匹配到该规则后停止处理后续规则,避免与其他重写规则冲突
如果习惯用IIS图形界面配置:
- 打开目标网站的URL Rewrite模块
- 点击右侧「添加规则」,选择「空白规则」
- 按照上述参数依次填写匹配URL、条件和操作项即可
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

