在初次使用vs2008的时候,把原来的html重写规则原版不动的转过来。但是出现了如下的错误提示:
没有为扩展名“.html”注册的生成提供程序。可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个。请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 属性。
在google之后,无意中发现一片文章,根据文章我重新改动配置。现在使用如下的配置,就正常使用了。把那些需要重写的和不需要重写的真正的html文件都会访问到。
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
<add extension=".xml" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
<httpHandlers>
<!--这里加入urlRewriter.dll要处理的后缀文件-->
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
<add verb="*" path="*.xml" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
<add extension=".xml" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
<httpHandlers>
<!--这里加入urlRewriter.dll要处理的后缀文件-->
<add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
<add verb="*" path="*.xml" type="URLRewriter.RewriterFactoryHandler, URLRewriter"/>
</httpHandlers>