自定义 404 与 500 错误页面,URL 地址不会重定向(二)

上一篇是使用了全局过虑器来实现,还可以使用 HttpApplication 来处理。

参考文章:

http://www.cnblogs.com/dudu/p/aspnet_custom_error.html

第一步和上一篇的第一步完全相同。

第二步开始是:

在 Global.asax  里的 MvcApplication 类里加上该方法:

        /// <summary>
        ///  应用程序出异常时必然会进这里,当出异常后,返回 404 错误页面。
        /// </summary>
        protected void Application_Error()
        {
            Exception lastError = Server.GetLastError();

            if (lastError != null)
            {
                WriterException(this.Context, lastError);

                Response.StatusCode = 404;
                Server.ClearError();
            }
        }

        /// <summary>
        /// 写入异常信息。
        /// </summary>
        /// <param name="context"></param>
        /// <param name="exception"></param>
        private static void WriterException(HttpContext context, Exception exception)
        {
            var logger = LoggerFactory.Current.Create();

            object uri = context.Request.Url;

            string url = string.Empty;

            if (uri != null)
            {
                url = uri.ToString();
            }

            var ex = exception.GetBaseException();

            var text = new StringBuilder();

            text.AppendLine("异常地址:" + url);
            text.AppendLine("异常信息:" + ex.Message);

            logger.Fatal(ex, text.ToString());
        }

完成。

时间: 2024-11-08 19:36:48

自定义 404 与 500 错误页面,URL 地址不会重定向(二)的相关文章

ASP.NET自定义404和500错误页面

在ASP.NET网站项目实际上线运行的过程中,有时候在运行环境下会出现400错误或者500错误,这些错误默认的页面都不友好,比较简单单调,其实我们可以自行设置这些错误所对应的页面,让这些错误跳转到我们指定的路径.此文将介绍如何在ASP.NET项目中设置404错误和500错误为例. 首先我们可以到网上下载到一些优美的404错误页面或者500错误页面的HTML模板,或者你也可以自行制作个HTML模板.然后将该页面放入到你的网站项目中,如果你的项目为WebForm项目,则你将需要新建一个Error.A

自定义 404 与 500 错误页面,URL 地址不会重定向。

对于 404 与 500 错误发生时,我们希望自己定义一个更加人性化的页面. 例子 当访问下面这个地址时: http://localhost/aaaa/bbb/ccc/ddd/eee/fff/ggg 浏览器的 URL 不变,依然是 http://localhost/aaaa/bbb/ccc/ddd/eee/fff/ggg 但页面显示的是我们自定义的错误页面. 一.在 web.config 里增加以下节点. <system.webServer> <httpErrors errorMode=

SpringMVC 指定404、500错误页面

1.在web.xml中追加 <error-page> <error-code>404</error-code> <location>/404</location> </error-page> <error-page> <error-code>500</error-code> <location>/500</location> </error-page> *注意斜线

ASP.NET MVC 处理404与500错误页面的方法

第一步创建ErrorPageController 第二步添加Oops页面 @{ ViewBag.Title = "Oops"; Layout = "~/Areas/Admin/Views/Shared/MasterPage.cshtml"; } @section header{ <link rel="stylesheet" type="text/css" href="~/assets/admin/pages/c

Django自定义404、500等页面模板

在站点访问的过程中难免会因为不小心而访问到一些不存在的链接404或网站突然抽风导致服务器错误500,但django默认的错误页面则不怎么友好,所以我们需要自定义404.500等页面,提升用户体验 1. 首先先写好404.500等页面的html文件 2. 在站点app项目中的views.py文件中编写网页404.500等处理函数 def pageNotFound(request): ''' 404.500处理函数 ''' return render(request, '404.html') 3.

SpringBoot系列教程web篇之404、500异常页面配置

接着前面几篇web处理请求的博文,本文将说明,当出现异常的场景下,如404请求url不存在,,403无权,500服务器异常时,我们可以如何处理 原文友链: SpringBoot系列教程web篇之404.500异常页面配置 I. 环境搭建 首先得搭建一个web应用才有可能继续后续的测试,借助SpringBoot搭建一个web应用属于比较简单的活; 创建一个maven项目,pom文件如下 <parent> <groupId>org.springframework.boot</gr

若你的网站出现404、500错误该怎么办?

若问“草根站长”们最恨谁,一定是网站显示异常.小编今天网站显示400.500错误的原因及解决方法. 1.Asp网站打开显示404错误页面 原因 404错误说明所访问的页面不存在 解决方法 需要登陆服务器查看页面是否真的不存在,并根据实际情况告知客户完整上传文件:网站所在目录是否正确:环境配置不生效扔回提示404,这个时候需要上传环境测试探针测试. 同时404错误也是一件高概率事件,建议花时间去设计一个有创意的404页面,一方面告诉浏览者其请求的页面不存在,同时引导用户浏览其他页面而不是离开. 2

js/jquery获取当前页面URL地址并判断URL字符串中是否包含某个具体值

js/jquery获取当前页面URL地址并判断URL字符串中是否包含某个具体值本文介绍jquery/js获取当前页面url地址的方法,在jquery与js中获取当前页面url方法是一样的,因为jquery没有自己相关的函数,使用js 的windows方法来获取,相关方法如下: window.location.pathname //设置或获取对象指定的文件名或路径 window.location.href //设置或获取整个 URL 为字符串 window.location.port //设置或获

thinkphp 5.0如何实现自定义404(异常处理)页面

404页面是客户端在浏览网页时,由于服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面.404承载着用户体验与SEO优化的重任.404页面通常为用户访问了网站上不存在或已删除的页面,服务器返回的404错误.如果站长没有设置404页面,会出现死链接,蜘蛛爬行这类网址时,不利于搜索引擎收录,是网站必需的一个页面. 404错误信息通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示的页面,如果直接展示404页面或者异常错误的话,对访问者来说用户体验是很不友好,所以我们需要自定