具有多个参数的 IIS 重定向

Posted

技术标签:

【中文标题】具有多个参数的 IIS 重定向【英文标题】:IIS Redirect with More than 1 Parameter 【发布时间】:2014-01-25 18:28:25 【问题描述】:

当我尝试重定向到查询字符串中包含超过 1 个参数的另一个页面时,我收到错误消息。

这行得通:

<rule name="t6" stopProcessing="true">
    <match url="^test.html$" />
    <action type="Redirect" url="mypage.aspx?param=1" redirectType="Permanent" />
</rule>

这不起作用:

<rule name="t6" stopProcessing="true">
    <match url="^test.html$" />
    <action type="Redirect" url="mypage.aspx?param=1&param2=2" redirectType="Permanent" />
</rule>

你能弄清楚发生了什么吗?

谢谢,

阿曼多

【问题讨论】:

【参考方案1】:

替换实例

&

&amp;

所以你的 url 参数变成了

url="mypage.aspx?param=1&amp;param2=2"

这是xml的编码要求。

参考:Which characters are Invalid (unless encoded) in an XML attribute?

【讨论】:

以上是关于具有多个参数的 IIS 重定向的主要内容,如果未能解决你的问题,请参考以下文章

301 使用 IIS 重定向到具有命名锚点的 URL

如何从 IIS 重定向带有参数的 URL

具有重写功能的 IIS 反向代理无法处理来自我们代理到的服务器的重定向

使用多个参数重定向 URL 以清除 .htaccess 中的 URL

Web.Config (IIS) 中的简单 301 重定向

IIS URL 重写模块:基于 QueryString 的重定向