我在IIS 6上设置了通配符映射,添加了“C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll”,并确保未检查“验证文件是否存在”:< / p>
但是,在iisreset之后,当我转到http://myserver/something.gif时,我仍然会收到IIS 404错误,而不是asp.net错误。
我错过了什么吗?
精密工业:
答案 0 :(得分:4)
您需要在web配置中为gif文件添加HTTP处理程序:
<system.web>
<httpHandlers>
<add path="*.gif" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="true"/>
</httpHandlers>
</system.web>
强制.Net处理文件,然后你就会得到.Net错误。
2>'/'应用程序中的服务器错误。无法找到资源。 说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/test.gif
版本信息:Microsoft .NET Framework版本:2.0.50727.1433; ASP.NET版本:2.0.50727.1433
答案 1 :(得分:0)
您可以尝试使用自定义错误来执行此操作。 进入网站属性中的自定义错误,并将404设置为指向站点中的URL。就像/404.aspx那样存在。
使用aspnet_isapi,您希望使用HttpModule来处理通配符。 比如http://urlrewriter.net/
答案 2 :(得分:0)
如果不使用ASP.net路由或URLrewriting或某些网址映射机制,则无法使用wilcard映射。
如果你想做404,你必须在web.config中配置它 - &gt;自定义错误。
然后,如果需要,您可以重定向到其他页面。
3.5 SP1中的新增功能,您将RedirectMode设置为“responseRewrite”,以避免重定向到自定义错误页面并保持浏览器中的URL不变。
其他方法,将捕获global.aspx中的错误,并重定向。如果您需要进一步的说明,请对答案发表评论。