nginx 设置错误的自定义404页面跳转到500

5年前写的站, 当时是在apache下写的error page, 换了nginx后, 404页面直接跳到了500 服务器内部错误.

只需要在配置

try_files 的时候指定一下就可以了

我的是debian, 在/etc/nginx/site-available/default 里面location /

server{

</pre><pre name="code" class="plain">	location / {
        <span style="white-space:pre">	</span>try_files $uri $uri/ /error/404.php?c=404 =404;

    <span style="white-space:pre">	</span>}
<pre name="code" class="plain"><span style="white-space:pre">	</span>error_page 403 /error/403.php;
<span style="white-space:pre">	</span>error_page 404 /error/404.php;
<span style="white-space:pre">	</span>error_page 500 501 502 503 504 /error/500.php;

}

然后reload下nginx即可

参考http://wiki.nginx.org/HttpCoreModule#try_files

说明下, 我把页面放在了 网站目录下的error文件夹下. 比如网站放在/var/www/  错误页面就在/var/www/error/403.php ...

测试的话很简单, 403是没权限比如你的网站目录css目录, 图片目录什么的, 404是不存在, 随便输个地址就可以, 500上是服务器的, 这里我停掉php-fpm来测试. 效果如下

nginx 设置错误的自定义404页面跳转到500

时间: 2024-10-12 15:56:43

nginx 设置错误的自定义404页面跳转到500的相关文章

NGINX下如何自定义404页面

什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了.如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户.因此,每一个网站都

Web---演示Servlet的相关类、下载技术、线程问题、自定义404页面

Servlet的其他相关类: ServletConfig – 代表Servlet的初始化配置参数. ServletContext – 代表整个Web项目. ServletRequest – 代表用户的请求. ServletResponse – 代表用户的响应. HttpSession – 代表用户的一次会话. 本篇博客演示:ServletConfig类 和 ServletContext 类(网页点击量统计,留言板和图片下载技术(其他类型文件类似)) ServletConfig: 它包含了Serv

Apache服务器自定义404页面的两种方法以及.htaccess的重要命令总结

Apache服务器自定义404错误页面有两种方法: 第一种方法最简单,直接在Apache的httpd.conf下进行配置修改命令,修改的内容请参看.htaccess命令写法中的自定义错误页面 第二种方法可以在.htaccess文件中配置命令,具体操作请参看.htaccess命令写法中的自定义错误页面 .htaccess使用方法总结 1 . 首先让的本地APACHE服务器器允许.htaccess修改 打开httpd.conf (1) Options FollowSymLinks AllowOver

IIS配置404页面配置,IIS自定义404页面

.NET 环境下 用到404页的场景一般有两种: 场景一:报黄页,程序性的错误,代码层可以捕捉到的. 场景二:用户输入不存在的页面,代码层捕捉不到的. IIS 默认会有404的配置,不过这种呈现出的都不好,而且也不能引流,影响用户体验! 所以,我们可以进行自定义404页面,方法如下: 准备一个404页面,如404.aspx,建议放在网站跟目录下 我们可以通过web.config进行配置: 场景一的配置: <system.web> <customErrors mode="On&q

JavaWeb 自定义404页面

本来,Tomcat中自定义404页面不过是在web.xml文件中写4行代码的事情. 直接引用 Tomcat官方FAQ 怎样自定义404页面? 编辑web.xml 1 <error-page> 2 <error-code>404</error-code> 3 <location>/error/404.html</location> 4 </error-page> 运气好的话,就能看到结果了. 运气好的话,我就不会折腾一个上午都没见到结果

如何给webview页面自定义404页面

//示例地图类 package com.can2do.doimobile.news; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.TextView; import com.can2do.doimobile

eyoucms自定义404页面

404个性化页面自定义是我们很多时候都会有的需求,修改的办法也很简单,修改后记得自己拿小本本记着,下次系统更新如果被覆盖了,还可以再改回来,自定义404页面,PC.手机都可自己判断地址. 方法:Core/library/think/exception/handle.php 找到方法 renderHttpException对原来的if判断进行一下改良,结果如下:地址自动切换到pc/mobile目录下,所以两个目录都要有自己的404.html if('404' == $status){ $mytem

nginx如何设置自定义404页面

404错误是WWW网站访问容易出现的错误.最常见的出错提示:404 NOT FOUND.404错误页的设置对网站SEO有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛.404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去.搜索引擎通过HTTP状态码来识别网页的状态.当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引.而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不

Nginx反向代理后配置404页面

关键词:proxy_intercept_errors.fastcgi_intercept_errors   在网上搜索404配置,有很多配置文章,但都是关于fastcgi_intercept_errors的,不过对我们的项目不起作用.我们的项目使用nginx做反向代理,通过域名区分不同的网站,配置fastcgi_intercept_errors不生效,需要配置proxy_intercept_errors.以下罗列出两种配置方式,供大家参考.   1.fastcgi_intercept_error