【问题标题】:asp.net mvc 5 handle unknow controller name from urlasp.net mvc 5 处理来自 url 的未知控制器名称
【发布时间】:2017-07-26 17:07:15
【问题描述】:

在Asp.net Mvc 5中,如果控制器名称在http://localhost:51056/free这样的url中无效,我们如何重定向另一个页面

【问题讨论】:

标签: asp.net asp.net-mvc-5


【解决方案1】:

重定向到不存在的控制器名称将始终返回 HTTP 404(未找到)响应。

可能最好的方法是在您的服务器上设置一个重定向规则,将/free 重定向到其他确实存在的路径。

【讨论】:

    【解决方案2】:

    您可以在 web.config 中设置配置,如

    <customErrors mode="On" >
           <error statusCode="404" redirect="/404.shtml" />
    </customErrors>
    

    或者您可以在 Global.asax

    中执行此操作
    if (Context.Response.StatusCode == 404) {
      // handle this
    }
    

    【讨论】:

    • 理论上,您可以将此重定向到与请求的控制器不同的控制器,并以允许用户继续在您的站点上工作的方式处理 404。因此,如果/free 是人们仍在以某种方式使用的已弃用链接(可能来自其他地方的过时共享),那么您可以这样做以让他们访问新的 url。唯一的缺点是它会为 EVERY 404...
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多