解决方法一:可以自定义新的404页面来覆盖IIS默认的,当访问不存在的地址时出现自定义好的404页面
解决方法二:修改IIS中的错误页
打开错误页
自定义一下404页面,做一个简单的404.htm(注:也可做asp/aspx/html等自定义错误页 ),放在网站的目录中。
点击404页面右键并编辑,选中放在网站目录的错误页面(注意:URL是放在网站的根目录中的er文件夹中,目录新建时可自定义)
点击404页面右键->编辑功能设置->本地请求用详细错误,这样自己看到错误,外网看到的是404,这里很重要,设置好确认就行了。
这样当时错误不存在的页面就可以成功跳转到自定义的404页面中。
准备好web.config,进行如下配置:
<location path="FolderTest">
<system.web>
<httpHandlers>
<add verb="*" path="*" type="YourNamespace.YourHandler"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="testyou" verb="*" path="*" type="younamespace.youHandler" resourceType="Unspecified"/>
</handlers>
</system.webServer>
</location>
有几点需要说明:
1.熟悉system.web和system.webServer的朋友一定知道,后者是针对iis7及以上的集成模式的配置项,如果不满足此宿主条件,则IIS会自动忽略此配置,采用前者的配置节点。
2.经过此配置后,iis7及以上的集成模式的站点已经能够处理FolderTest路径下的所有404 Request了。
3.resourceType="Unspecified",是用来处理标示处理所有请求的,包括file and folder等等,如果我们处理的是文件url,则不需要此配置属性。
4.path=”*”,表明这是一个wildcard httphandler。
5.如果我们不是要处理子目录下所有请求,如上文配置中的FolderTest,而是要处理根目录下的所有404请求,则去掉location配置节。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)