2010-07-26 121 views
15

我有一个Web应用程序运行@ Windows 2008 R2,ASP.NET v4.0。Url在IIS 7.5中重写导致内部服务器错误

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

<rewrite>标记被添加到web.config的<system.webServer>下时,我开始遇到问题 - 实际上当我尝试浏览到当前应用程序下的任何页面时,我得到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}&amp;title={R:2}" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

回答

30

刚把同样的错误,并找到了解决。您需要安装用于URL重写的IIS模块。你可以在这里下载中心它:http://www.iis.net/download/URLRewrite

干杯,

+2

在IIS 8上,但它没有解决问题,任何其他方式? – 2015-04-24 10:51:20

4

我有URL重写模块2.0安装好了。但是,在某些时候,我还卸载并重新安装了iis7,所以我认为重写模块没有在iis中正确注册。即使我只是向web.config添加了一组空白的标签,我也得到了与上述相同的错误。

我的解决方案是卸载Url重写模块(通过程序和功能),并使用Web平台安装程序重新安装。在安装过程中我停止了iis7(不知道它是否重要)。我不需要重新启动。

+1

通过Web平台安装程序安装模块帮助,谢谢:) – 2015-04-24 12:49:16

+0

在'程序和功能'树中,你发现URL重写? – 2016-05-29 14:01:14

+0

找到它...它列在PROGRAM和特征根目录下。不在windows组件下。 – 2016-05-29 14:05:35

0

URL重写模块的Installer延伸安装在文件C中定义重写部分的模式:\ Windows \ System32下\ INETSRV \设置\架构\ rewrite_schema.xml。