代码之家  ›  专栏  ›  技术社区  ›  Perhentian

访问ASP。没有www的Net MVC站点抛出错误

  •  1
  • Perhentian  · 技术社区  · 16 年前

    这个让我做了一些噩梦,因为我在直播箱上试图找出问题所在!

    如果有人访问我们的ASP。带有完整URL的Net MVC网站 http://www ..net一切正常。如果他们去:http://.net然后显示我们的自定义错误页面。在我们将网站迁移到MVC之前,这曾经工作得很好。

    我们在Global.asax中确实有一个Application_OnError事件,但我知道在这种情况下没有被触发,因为我登录了事件日志,但没有发生。

    如果我在web.config中关闭自定义错误,则网站行为正常!

    我们目前正在使用MVC测试版。编辑:我们正在IIS6上运行,并使用MVC路由实现友好的URL。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Zac Seth    16 年前

    这个问题在现阶段太模糊了,我无法给你一个好的答案,但我会先看看你的URL重写——你使用的是哪个版本的IIS?如果是IIS5或IIS6,您是否使用Isapi Rewrite?这可能会干扰你的反应。

    至于为什么当你关闭customErrors时错误会消失,好吧,我不知道抱歉。

    顺便说一句,如果你关心谷歌排名,你可能想使用一个重写工具(比如Isapi Rewrite,我认为是IIS7内置的)来发送一个自动重定向(HTTP 301响应),将用户从非www版本发送到www版本。谷歌将这两个网站视为具有重复内容的独立网站,这将稀释你的页面排名。这也将避免你正在尝试的问题,因为用户只会看到www版本。

    此外,我不确定Application_Error是否真的是处理ASP中错误的最佳方法。Net MVC。对HandleError操作过滤器进行一些研究,看看这是否可以为您提供更好的错误处理方法。结账 Scott Gu's post 有关更多信息,请参阅此。

    我希望这能有所帮助。 干杯, 扎克

        2
  •  0
  •   waqari    14 年前

    我在MVC.net网站上遇到了同样的问题,但当我在IIS的主机头中同时输入domain.com和www.domain.com时,问题就解决了。