URL重写 - web.config错误

时间:2009-11-15 20:36:02

标签: asp.net iis-7 url-rewriting

运行.aspx页面时出现以下错误。

错误代码0x8007000d 无法读取配置部分'rewrite',因为它缺少部分声明

我有一个简单的v.aspx页面,其中包含以下代码:

回复于(请求( “Q”))

我的托管服务器安装了IIS 7并启用了URL重写功能(这就是他们声称的内容)

我的web.config文件在以下行中包含以下行:

注意:节点下面有蓝色波浪线

<rewrite>
      <rules>
        <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
          <match url="^([^/]+)/?$" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="v.aspx?q={R:1}" />
        </rule>
      </rules>
    </rewrite>

我搜索过stackoverflow但没有找到解决方案。

可能有人找到了解决方案。

TIA

3 个答案:

答案 0 :(得分:28)

确保<rewrite>部分中包含<system.webServer></system.webServer>

<configuration>
   <system.webServer>
       <rewrite>
          <rules>
             <rule name="RewriteUserFriendlyURL1" stopProcessing="true">
             <match url="^([^/]+)/?$" />
             <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="v.aspx?q={R:1}" />
             </rule>
          </rules>
        </rewrite>
    </system.webServer>
</configuration>

答案 1 :(得分:17)

安装URL重写模块http://www.iis.net/download/URLRewrite并应对其进行排序。它解决了我的问题

答案 2 :(得分:3)

在IIS7中支持system.webServer中的重写部分,但不支持IIS6。将此站点部署到仅运行IIS6的服务器可能会导致该错误。