Nginx 网站定义自己的错误页面

场景:

为了给用户较好的交互和感官,我们通常需要对错误页面进行友好提示。

环境介绍:

LNMP(linux(centos7.4)Nginx Mysql5.6 php7.0)


实现:

这里,我直接对nginx的子配置文件进行了相应配置,给出代码

server {
    listen       80;
    server_name  www.xiaobudiu.top;

    charset utf-8;
    access_log  /etc/nginx/logs/access/www.xiaobudiu.top.access.log main;
    error_log   /etc/nginx/logs/error/www.xiaobudiu.top.error.log debug;

    root    /data/www;

    index  index.html index.htm index.php;

    location /favicon.ico {
            log_not_found off;
            access_log off;
    }

   location ~ \.php$ {
        fastcgi_pass   unix:/dev/shm/php-cgi.sock;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
   }

   error_page  404 403 500 502 503 504  /404.html;

   location = /404.html {

        root   /data/errorPage;

   }

   location ~ /\.ht {
       deny  all;
   }
}

从上面可以看出,如果访问我定义的server(www.xiaobudiu.top)出现404,403,500,502,503,504 错误时,直接nginx重写到 location = /404.html ,在这个location中,我定义root,也就是我们自己定义的错误页面所在的位置,这里是/data/errorPage,然后我们在这个路径下vim 404.html就可以了 。

文件结构是这样:

Nginx 网站定义自己的错误页面_第1张图片


效果示例:

假设我在我的网站找一个不存在的页面,就会直接返回我刚才自己定义的404.html,如图。

Nginx 网站定义自己的错误页面_第2张图片


注:当然,还有对nginx反向代理错误页面的定义,以及nginx解析php出错的错误页面的定义,如果有这方面需求,可以参考这篇文章。https://www.cnblogs.com/paul8339/p/7389422.html


你可能感兴趣的:(Linux,Nginx,杂学)