2010-08-23 64 views
2

net webforms应用程序,它是旧webshop的新版本。我有很多来自Internet的入站链接,指向特定的类别页面:http://www.example.com/category1.html,新设置中此类别的路径类似于:http://www.example.com/category.aspx?id=42ASP.NET和HTTP 404问题(IIS问题)

我设置了Category.aspx页面来处理错误并重定向到自定义页面,记录错误并重定向到我的首页。

我已经安装在Global.asax的Application_Error做同样的

我已经安装的Web.config,与自定义错误使用与上述同样的理念,继电器404。

一切工作,因为它应该在Visual Studio(构建在Web服务器),当我发布到我的虚拟主机,它不工作,他们说它正在集成模式下运行...任何人都有一个解决这个问题?

+0

如果你想访问只是category.aspx它的工作?它会记录任何错误吗? HTTP 404是基于您的重定向还是由IIS触发? IIS中的Web应用程序可能会错误地配置,因此http://www.example.com/...不指向您的应用程序。 – 2010-08-23 09:32:47

回答

0

在集成模式下运行的IIS,所以我终于发现,我无法处理这种方式我做了,我写了一个httphandler,在web.config中注册它并将它分配给拦截所有对* .html文件。我所要做的就是重新调整到正确的源页面。

1

使用内置web服务器,每个请求都被处理,就好像它是一个asp.net页面一样,所以在这种情况下总是使用web.config。

然而,在IIS中,.html不是由asp.net处理,而是由静态文件处理程序处理,所以web.config被忽略(尽管IIS7查看web.config中的某些内容,但这与您的问题)

因此,您需要通过asp.net处理.html(将.html扩展设置为与IIS中的.aspx页面相同的dll进行处理),或者您应该在IIS中设置错误页面(而不是在你的web.config中)。