IIS7.0设置 url重写成html(伪静态)

前提条件:先把IIS应用程序池的托管管理道模式为集成(为了可以做第3,4步)
首先在IIS中的站点里,找到处理程序映射。双击进去
1、添加脚本映射(路径:*.html 可执行文件%windir%Microsoft.NETFrameworkv2.0.50727aspnet_isapi.dll 名称:任意,比如Html )
2、添加通配符脚本映射(32位操作系统,路径:* 可执行文件:C:\Windows\Microsoft.NET\Frameworkv2.0.\50727\aspnet_isapi.dll 名称:任意,比如All

,64位操作系统:路径:* 可执行文件:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 名称:任意,比如All

)
3、添加托管处理程序映射(路径:*.html 可执行文件:System.Web.UI.PageHandlerFactory 名称 任意 比如Html-Integrate)
4、IIS中找到模块(双击进去)-->添加托管模块---->(名称:任意 如All 类型:URLRewriter.ModuleRewrite

仅针对向asp.net 应用程序或托管处理程序发出请求调用 勾上

5、将应用程序池的托管管理道模式为经典

以上步骤是针对32位电脑系统所写,如果您的电脑是64位系统,需要再设置如下一个步骤

选择重写站点对应的应用程序连接池,高级设置,启用32位应用程序,设为true

 

上面设置完,重写成HTML肯定成功,但是II7或以上有个bug,也就是真实存在的html没有办法访问,下面我给大家提供一个可以解决的办法,也就是在webconfig里加下配置就能解决:

<system.web>
<httpHandlers>
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
</httpHandlers>


<compilation debug="true" targetFramework="4.0">
<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>
</compilation>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false" />

</system.web>

上面加红色的就是了

posted on 2011-09-20 08:20  八度空间  阅读(5684)  评论(0编辑  收藏  举报

导航