IIS 7.5 中的 URL 重写导致内部服务器错误
Posted
技术标签:
【中文标题】IIS 7.5 中的 URL 重写导致内部服务器错误【英文标题】:Url Rewrite in IIS 7.5 causes Internal server error 【发布时间】:2011-03-20 23:05:15 【问题描述】:我有一个运行在 Windows 2008 R2、ASP.NET v4.0 上的 Web 应用程序。
我安装了Url Rewrite Module,并开始使用它,如官方示例所示。
当<rewrite>
标签添加到<system.webServer>
下的web.config 时,我的问题就开始了——实际上,当我尝试浏览到当前应用程序下的任何页面时,我得到500 - Internal server error
。
这是我一直添加的<rewrite>
块:
<system.webServer>
<rewrite>
<rules>
<rule name="test1">
<match url="^default/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="default.aspx?id=R:1&title=R:2" />
</rule>
</rules>
</rewrite>
</system.webServer>
【问题讨论】:
【参考方案1】:刚刚遇到同样的错误并找到了解决方法。您需要为 IIS 安装模块以进行 URL 重写。你可以在这里下载:http://www.iis.net/download/URLRewrite
干杯,
【讨论】:
【参考方案2】:我还安装了 Url Rewrite Module 2.0。但是,在某些时候,我还卸载并重新安装了 iis7,所以我认为 rewrite 模块没有在 iis 中正确注册。即使我只是在 web.config 中添加了一组空标签,我也遇到了与上述相同的错误。
我的解决方案是卸载 URL 重写模块(通过程序和功能)并使用 Web 平台安装程序重新安装它。我在安装过程中停止了 iis7(不确定是否重要)。我不需要重新启动。
【讨论】:
通过Web Platform Installer安装模块有帮助,谢谢:) 您在“程序和功能”树的哪个位置找到 URL 重写? 找到它...它列在程序和功能根目录下。不在windows组件下。【参考方案3】:我解决了从 exe 安装程序卸载 Url Rewrite Module 2.0,从 https://www.microsoft.com/web/downloads/platform.aspx 安装 web 平台,然后转到 web 平台上的产品,然后安装 url rewriter 模块。 在 Windows 7 x86 上,iis 7。
【讨论】:
【参考方案4】:Installer of URL Rewrite Module 扩展安装文件 C:\Windows\System32\inetsrv\config\schema\rewrite_schema.xml 中定义的重写部分的架构。
【讨论】:
以上是关于IIS 7.5 中的 URL 重写导致内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章
带有 URL 重写模块的 IIS 7.5 在回发时将 QueryString 参数加倍
windows2008(64位)下iis7.5中的url伪静态化重写(urlrewrite)