使用 IIS 7 重写模块重写 & 符号 URL

Posted

技术标签:

【中文标题】使用 IIS 7 重写模块重写 & 符号 URL【英文标题】:Rewriting Ampersand URLs with IIS 7 Rewriting Module 【发布时间】:2011-10-29 00:28:42 【问题描述】:

如何在 web.config 文件的 url 重写规则中使用 & 符号 (&)?

我要重写网址:

http://www.foo.com/index.asp?SomeParameter=SomeValue&SomeId=00

到:

http://www.foo.com/Section/Page

我在 web.config 中编写了以下规则:

    <rule name="RuleName" stopProcessing="true">
      <match url="^index.asp?SomeParameter=SomeValue&SomeId=00" ignoreCase="true" />
      <action type="Redirect" url="Section/Page"  appendQueryString="false" />
    </rule>

但是我在输入 url 中遇到了与符号 (&amp;) 相关的问题。尝试重写时我得到:

无法访问请求的页面,因为相关 该页面的配置数据无效。

我尝试将 & 符号解析为 %26,但我得到了同样的错误。

【问题讨论】:

【参考方案1】:

尝试使用 html & 字符代码&amp;amp;

【讨论】:

以上是关于使用 IIS 7 重写模块重写 & 符号 URL的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.5 中的 URL 重写导致内部服务器错误

URL 重写在 IIS 7 上不起作用

iis url重写模块 是干啥用的

如何配置iis rewrite模块的url重写规则

windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)

iis重写模块实现程序自动二级域名,微软提供的URL重写2.0版本适用IIS以上