我想使用 IIS 8.5 重定向 SEO 友好的传出链接,例如 example.com/out/productxyz。因此,我创建了一个带有 Action-Type 转发的重写规则。目标 URL 具有参数,例如 example.com/action.aspx?param1=value¶m2=value
问题是:当 IIS 保存规则时,参数中的“&”字符会转换为其 HTML 值:
<action type="Redirect" url="http://example.com/action.aspx?param1=value&amp;param2=value" redirectType="Found" />
因此,'&' 被转换为 '&'。我查看了标头,IIS 确实重定向到 'http://example.com/action.aspx?param1=value¶m2=value'。这会因为 '&' 而中断,因此我得到了另一侧,而不是使用正确参数所得到的一侧。
我已经尝试将 web.config 中的所有“&”替换为“&”,但随后我在 IIS 中收到错误,指出配置不是格式正确的 xml。所以我的问题是:如何将自定义 URL 重定向到具有 URL 参数的目标 URL,而不会破坏参数?
答案1
中的值web.config
应该看起来像
<action type="Redirect" url="http://example.com/action.aspx?param1=value&param2=value" redirectType="Found" />
不是(注意amp;
这里有多余的内容)
<action type="Redirect" url="http://example.com/action.aspx?param1=value&amp;param2=value" redirectType="Found" />