我想在运行Windows Server 2008 R2的IIS 7.5服务器上使用web.config进行重定向。我想简单地为另一个带有很长查询字符串的URL创建一个快捷方式URL:
www.example.com/redirect - > www.example.com/long_url.aspx?key1=value1&key2=value2
当我将以下重写规则添加到web.config时,它会产生500内部服务器错误:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="^redirect$" stopProcessing="true">
<match url="^redirect$" />
<action type="Redirect" url="/long_url.aspx?key1=value1&key2=value2" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我需要更改什么才能让它发挥作用?
答案 0 :(得分:0)
在重写规则的操作中添加查询字符串时,您必须转义所有“?”和“&amp;”网址中的字符。
以下代码可以使用:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="^redirect$" stopProcessing="true">
<match url="^redirect$" />
<action type="Redirect" url="/long_url.aspx?key1=value1&key2=value2" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>