NGINX 配置404错误页面转向

什么是404页面

如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面。404页面的默认内容和具体的服务器有关。如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found

为什么要自定义404页面

在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了。如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户。因此,每一个网站都应该自定义自己的404页面。

NGINX下如何自定义404页面

IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步:

1.创建自己的404.html页面

2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;

3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 )

中在server 区域加入: error_page 404  /404.html  或者 error_page 404 =http://www.xxx.com/404.html

4.更改后重启nginx,,测试nginx.conf正确性: /opt/nginx/sbin/nginx –t

#502 等错误可以用同样的方法来配置。

error_page  500 502 503 504  /50x.html;

注意事项:

1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向。这里需要注意的是,并不是说设置了fastcgi_intercept_errors on,nginx就会将404错误重定向。在nginx中404错误重定向生效的前提是设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项(包括语法和对应的404页面)

2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。

3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)

时间: 2024-08-27 22:45:53

NGINX 配置404错误页面转向的相关文章

Ubuntu nginx 配置404错误页面

1.创建自己的404.html页面: 2.更改nginx.conf在http定义区域加入: /etc/nginx# vim nginx.conf 下添加 fastcgi_intercept_errors on; http{ ...... fastcgi_intercept_errors on; ...... } 3.更改/etc/nginx/sites-enabled/default 文件 #error_page 404 /404.html; 改为 error_page 404 = /404.h

nginx自定义404错误页面

在Nginx环境下配置自定义的404错误页面转向,避免给用户展示生硬.不友好的错误信息.可以给出如下提示:很抱歉,您访问的页面不存在或已被删除. 注意事项: 一.修改nginx.conf之前做好备份,避免出现问题. 二.定义页面时注意路径是否正确. ①首先创建一个404错误时显示的页面,如放在你的网站根目录下的404.html.(内容随便) ②在nginx.conf中的http区域加入fastcgi_intercept_errors on: http { ... fastcgi_intercep

nginx配置403错误页面

建立403 error 页面, 403.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Error 403</title></head><body&g

nginx下配置404错误页面

1.创建自己的404.html页面,并放于网站根目录. 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独的网站配置文件) 在server 区域加入: error_page 404 /404.html 或者 error_page 404 http://www.xxx.com/404.html(不建议用这个绝对路径,有人反映会返回200,但是我测试是可以的,两边不要=) 4.测试nginx.conf正

Nginx指定404错误页面方法

Nginx指定404页面的方法: 404页面分为三种(小编认为目前知道三种,有(ma)待(la)考(ge)察(bi)) 第一种:Nginx自己的错误页面 nginx访问一个静态的html 页面,当这个页面没有的时候,nginx抛出404,那么如何返回给客户端404呢?看下面的代码 这种情况下不需要修改任何参数,就能实现这个功能. server {     listen      80;     server_name  a.b.com;         root   /var/www/error

nginx指定404错误页面跳转

需求: 修改配置文件进行跳转: server {         listen       80;         server_name shadouyou.com www.shadouyou.com;             if ($host = 'shadouyou.com' ) {         rewrite ^/(.*)$ http://www.shadouyou.com/$1 permanent;                 }         root   /Disk/v

Nginx配置error_page 404错误页面

问题由来 昨天一网友在segmentfault.com上提问,无法做404重定向 打开对方的网站随便输入一个错误的地址发现给出了404代码,但是页面完全空白,并没有显示404页面的设定内容 当时就明白啥情况了,只要在nginx.conf配置文件上加上一句 fastcgi_intercept_errors on,就可以了 如果没这句的不管是error_page 还是nginx自带的404跳转都不能正常显示(访问不存在的php页面时可能会显示“No input file specified.”) 什

java web 404错误页面配置

java web 404错误页面配置:注意红框的地方,在工程的web.xml文件里的最开头加入如下的内容便可,但是也有问题,针对以.action后缀名和.jsp后缀名不起作用, 因为后面配置了一些拦截器专门拦截.action和.jsp文件

LNMP设置404错误页面

LNMP即Linux+Nginx+MySQL+PHP的web架构.     1.在网站的根目录touch 文件404.html,内容如下: <html> <body><H1>404 NOT FOUND!</H1></body> </html> 2.chmod 755  404.html chown www:www   404.html 3.修改nginx配置文件nginx.conf: 在http {}区域添加上:fastcgi_int