【发布时间】:2013-09-21 15:08:57
【问题描述】:
我在一个 asp.net 3.5 webforms 网站中创建了一个简单的 URL 重写模块。该模块使用以下代码重定向到 /default.aspx:
HttpApplication app = (HttpApplication)source;
HttpContext ctx = app.Context;
ctx.RewritePath("~/default.aspx");
return;
在 vs2010 本地它工作正常(它重定向所有请求)。在服务器上,当请求文件不存在时,它会给我错误 404,否则如果请求指向现有页面,它会很好地重定向。您能帮我找出导致我出现 404 错误的问题吗?
SOVLED : IIS6 的问题在于,只有当给定 url 的扩展名是 .aspx 时,它才会触发 asp.net httpmodule。
【问题讨论】:
-
您的 web.config 如何查找注册模块。 IIS 6 为此使用了不同的部分:
而不是 -
模块在 httpmodules 中注册,正如我所说,它工作正常直到我们在浏览器上写入一个有效的 url(如果我们请求的页面存在,那么它会重新触发到 default.aspx 否则 404 错误)
标签: asp.net webforms iis-6 http-status-code-404 httpmodule