URL用UrlRewriter组件重写后.html文件无法访问
2010-09-18 14:59
337 查看
项目中需要将指定的URL重写,用UrlRewriter组件将重写规则配置完毕后,访问正常。但是出现一个意料之外的BUG
,即运行项目中的静态.html文件发现都不能正常访问,出现"没有为扩展名“.html”注册的生成提供程序。可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个。请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 属性。"的错误信息。无奈,根据错误信息提示以及网上的一些有价值的参考资料,对web.config文件进行相应的配置,最终问题得以解决。具体配置信息如下:
<compilation defaultLanguage="c#" debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
<!-- 加上此节点,保证原本就是.html类型的文件能正常访问 -->
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
</compilation>
其实,主要也就是在<compilation></compilation>节点中添加这样一段配置:
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
至此配置完毕,再次访问一切正常。
,即运行项目中的静态.html文件发现都不能正常访问,出现"没有为扩展名“.html”注册的生成提供程序。可以在 machine.config 或 web.config 中的 <compilation><buildProviders> 节注册一个。请确保所注册的提供程序具有包含值“Web”或“All”的 BuildProviderAppliesToAttribute 属性。"的错误信息。无奈,根据错误信息提示以及网上的一些有价值的参考资料,对web.config文件进行相应的配置,最终问题得以解决。具体配置信息如下:
<compilation defaultLanguage="c#" debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
<!-- 加上此节点,保证原本就是.html类型的文件能正常访问 -->
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
</compilation>
其实,主要也就是在<compilation></compilation>节点中添加这样一段配置:
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
至此配置完毕,再次访问一切正常。
相关文章推荐
- URL用UrlRewriter组件重写后.html文件无法访问
- 用微软组件URLRewriter在Windows Server 2003下实现的在ASP.NET下重写URL
- url重写—实现html伪静态后 真实的html无法访问的解决方法
- WINDOWS SERVER 2003、IIS6、ASP.NET2.0,用微软的UrlRewriter组件重写URL
- url重写后,html为伪静态后真实的html无法访问的解决方法
- url重写—适用html为伪静态后真实的html无法访问的解决方法
- 使用URLRewriter重写后,相同后缀后的真实静态文件无法访问的解决办法
- url重写—适用html为伪静态后真实的html无法访问的解决方法
- 使用UrlRewritingNet重写url以.html的伪静态页面后,真实的.html无法访问的解决方法
- [CCS]China Community Server几乎所有被重写的URL都无法访问的解决方法
- 利用URLRewriter重写url地址-实现伪静态
- asp.net用url重写URLReWriter实现任意二级域名第1/2页
- 防止未登录的用户直接重写URL访问系统
- 关于URLRewriter重写URL的问题...
- Ajax的访问组件 参照Spry重写的
- WebService 通过POST方式访问时候,因 URL 意外地以“/方法名”结束,请求格式无法识别 解决办法
- 利用URLRewriter重写url地址
- wamp环境下url无法重写和出现提示PHP Warning: PHP Startup: in Unknown on line 0
- 利用URLRewriter重写url 实现伪静态
- HTTP 无法注册 URL http://127.0.0.1:9999/calculatorservice/metadata。进程不具有此命名空间的访问权限