微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当包含特定字符串时,如何从 IIS URL 重写中排除 URL

如何解决当包含特定字符串时,如何从 IIS URL 重写中排除 URL

我有以下网址:

http://localhost:4423/DXR.axd?r=1_84-0iUmm

以及以下 IIS 重写规则:

<rule name="Enforce LowerCase" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAll" >
    <add input="{URL}" pattern="[A-Z]" ignoreCase="false" /> 
  </conditions>
  <action type="Redirect" url="{ToLower:{URL}}" redirectType="Permanent" />
</rule>

如果该规则包含 DXR.axd,我将不适用。你能不能分享一下你的想法。谢谢。

解决方法

HTTP 查询由协议、域、路径和查询字符串组成,您的 url 由 4 个离散元素构成:

  • 协议:http://
  • 域:本地主机:4423
  • 路径:/DXR.axd
  • 查询字符串:r=1_84-0iUmm

如果你想匹配任何没有/DXR.axd的字符串,你只需要像这样设置你的参数:

<match url="^(?!/DXR.axd$).*$" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。