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

本文介绍了解决IIS中开启伪静态后导致原有HTML静态页面无法访问的问题。通过修改配置文件,可以使得伪静态和真实静态页面都能正常访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,可以看到现在伪静态和真正的静态页面都可以访问了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值