IIS开启伪静态后html静态页面无法访问的解决方法

修行者 网站建设 14382浏览 12评论

IIS开启伪静态后,发现原本存在的html静态页面无法访问了,显示的404错误。网上查了下,是因为实现伪静态就是使用 URLRewriter 来映射后缀,会把asp等动态页面映射成html,但是原来存在的html静态页面也被定义的规则映射到其它页面了,所以找不到页面而无法访问。

有一个很简单的方法就是将html页面的后缀名改成htm,或者是把映射的规则改成映射为htm,总之就是把我们的伪静态页面和真正的静态页面分别用html和htm区分开来,但这只是治标不治本的方法。

最好的方法就是修改伪静态规则文件了,如果是IIS7我们就用记事本打开根目录下的web.config这个文件,找到<compilation >节点,向其中加入如下内容:

<buildProviders>
<add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
</buildProviders>

然后找到<httpHandlers>节点,添加下面这行代码:

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

如果你是IIS6的话那就是修改根目录下的httpd.ini文件,不过比较麻烦点,比如你你想要seo目录和这个目录下的所有html文件不应用伪静态规则能正常访问的话就在httpd.ini里添加下面这段代码。

RewriteRule /seo/ /seo/ [L]
RewriteRule /seo/(.*).html /seo/$1.html [L]

OK,重启IIS,可以看到现在伪静态和真正的静态页面都可以访问了。 

修行者

本文地址http://xxzh.org/web/IIS-weijingtai-html-wufa-fangwen.html

版权说明:如非注明,本站文章均为 修行者博客 原创,转载请注明出处和附带本文链接。

已有12位小伙伴发表了看法
  1. 元芳

    元芳游客 回复Ta web.config 没有找到你说的节点

  2. shuchao

    shuchao游客 回复Ta 顶一下~~thanks

  3. 特区某男

    特区某男游客 回复Ta [F]Haha[/F]

  4. 华丽丽的飘过

    华丽丽的飘过游客 回复Ta 受教了,非常有用,多谢*************
    由 星星之火 于 2012-12-26 21:35:07 最后编辑

  5. 左旋360减肥咖啡

    左旋360减肥咖啡游客 回复Ta 看不太懂哎

  6. 减肥药排行榜

    减肥药排行榜游客 回复Ta 方法很重要

  7. 学夫子

    学夫子游客 回复Ta 基本上就是规则的问题吧

  8. 天边鱼

    天边鱼游客 回复Ta 华丽的游过...

  9. 青岛旅行社

    青岛旅行社游客 回复Ta 这个还真没遇到过。

  10. 七七

    七七游客 回复Ta 呵呵 不错 值得学习

  11. 电商圈

    电商圈游客 回复Ta 技术分享啊

  12. ccov

    ccov游客 回复Ta 我现在还不会IIS

发表评论(友情提示:可直接按Ctrl+Enter提交评论)
来宾的头像
访客