IIS 重写规则重定向和删除查询字符串

IIS 重写规则重定向和删除查询字符串

我正在尝试在 IIS 7.5 中将旧网站重写为新网站。我们有一个包含和不包含查询字符串的 URL 列表。

我可以获取没有查询字符串的 URL 来重定向,但不能

<rewrite>
    <rewriteMaps configSource="rewritemaps.config" />
    <rules>
    <rule name="Redirect Rule" stopProcessing="true">
      <match url=".*" ignoreCase="false" />
      <conditions>
        <add input="{StaticRedirects:{URL}}" pattern="(.+)" />
      </conditions>
      <action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent" />
    </rule>
  </rules>
</rewrite>

这是示例重写映射:

  • 添加key="/boat-insurance/canoe.aspx" value="/boat/canoe-insurance"(有效)
  • 添加key="/boat-insurance/canoe/details.aspx?#details" value="/boat/canoe-insurance"(这不)

答案1

可以根据查询字符串( 后面的所有内容?)进行重写,但#details不是查询字符串的一部分。它被称为片段标识符,是 URL 中仅供客户端使用的部分。浏览器永远不会将其发送到服务器,因此服务器不可能使用它进行 URL 重写。

相关内容