无法识别的配置节重写器

时间:2010-06-03 20:46:06

标签: c# asp.net url-rewriting

我正在尝试从this Url Rewriting文章中实施方法3。

我已经添加了所有必需的配置(在urlRewriter模块的web.config中)但是当我尝试在web.config中添加它时:

<configuration>
    <configSections>
    <sectionGroup>
    <section name="rewriter"  
             requirePermission="false" 
             type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
  </sectionGroup>
  </configSections>

  <system.web>

    <httpModules>
      <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
    </httpModules>
  </system.web>
  <rewriter>
     <rewrite url="~/products/(.+)" to="~/products.aspx?category=$1" />
  </rewriter>
</configuration>
它给了我:

  

无法识别的配置部分   重写...

请让我知道为什么它告诉我,我把错误的位置改写为xml节点?

...谢谢

解决方案:我已将section节点放在sectionGroup下,而它必须直接位于configSections

2 个答案:

答案 0 :(得分:0)

您缺少配置部分,因此.Net可以解析实际设置

 <rewriter>
   <rewrite url="~/products/(.+)" to="~/products.aspx?category=$1" />
 </rewriter>

如果阅读了您发布的链接,则该部分中不包含重写者,但该部分是独立的。

答案 1 :(得分:0)

我解决了这个问题,请检查 configSections 位置。重写者应该在section group之外。

像那样:

<configSections>
        <section name="rewriter"  
                 requirePermission="false" 
                 type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
      </configSections>

我正在检查我的项目。