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

22

我有一个运行在Windows 2008 R2,ASP.NET v4.0的Web应用程序。

我安装了Url Rewrite模块,并像官方示例所示开始使用它。

<rewrite>标签被添加到<system.webServer>下的web.config中时,我的问题就开始了 - 实际上当我尝试浏览当前应用程序下的任何页面时,都会出现500 - 内部服务器错误

这是我一直在添加的<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}&amp;title={R:2}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
4个回答

41

5
我安装了Url Rewrite模块2.0版本。然而,在某个时间点,我卸载并重新安装了iis7,因此我认为重写模块没有在iis中正确注册。即使我只是在web.config文件中添加了一组空的标签,我也会遇到与上述相同的错误。
我的解决方案是通过"程序和功能"卸载Url Rewrite模块,并使用Web平台安装程序重新安装它。在安装过程中,我停止了iis7(不确定是否重要)。我不需要重新启动计算机。

1
通过 Web 平台安装程序集非常有帮助,谢谢 :) - Chaitanya Gadkari
在“程序和功能”树中,您在哪里找到URL Rewrite? - Tom McDonald
找到了...它在程序和功能根目录下列出,而不是在Windows组件下。 - Tom McDonald

1

0

安装程序URL Rewrite Module扩展会安装在文件C:\Windows\System32\inetsrv\config\schema\rewrite_schema.xml中定义的重写部分模式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接