【问题标题】:Unrecognized configuration section rewriter无法识别的配置节重写器
【发布时间】:2012-07-09 14:52:12
【问题描述】:

我正在尝试实现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 下

【问题讨论】:

    标签: c# asp.net url-rewriting


    【解决方案1】:

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

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

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

    【讨论】:

    • 嗨...我已经添加了从 Scot 获取的整个 xml,我也将其放入了我的 web.config。奇怪的是 是配置的直接子节点...
    【解决方案2】:

    我解决了这个问题,检查 configSections 地方。重写器应该在 sectiongroup 之外。

    这样:

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

    我检查了我的项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 2016-08-24
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多