【发布时间】:2012-06-13 19:47:35
【问题描述】:
我想创建一个非常简单的 URL 重写规则。我在本地使用带有 Visual Studio 2010 的 IIS 7 Express (XP)。我创建的规则(从示例 here 复制)在本地完美运行。但是,一旦我将它复制到我的托管服务器,我就会收到 500 错误。
摘自 web.Config:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<rewrite>
<rules>
<rule name="Rewrite to article.aspx">
<match url="^article/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="article.aspx?id={R:1}&title={R:2}" />
</rule>
</rules>
</rewrite>
</system.webServer>
假设规则是破坏应用程序的原因,我删除了 rules 部分,但应用程序仍然抛出 500 错误。但是,如果我完全删除 rewrite 部分,应用程序会正确加载。
所以我的问题是,我的 web.Config 中是否缺少任何内容?他们声称这是一个脚本问题,并且 URL 模块已正确安装并在他们的 IIS 7 服务器上运行。有什么办法可以用脚本来确认吗?
【问题讨论】:
-
有没有办法确定500错误的实际原因?
-
没有。我尝试按照 GoDaddy 的说明添加调试输出,包括 ELMAH。不幸的是,异常被吞没了,这两种方法都没有产生堆栈跟踪。
标签: asp.net url-rewriting iis-7