Nginx 错误页面 error_page 重定向
Nginx
配置参数 error_page
是将访问 Nginx
遇到的指定 HTTP
错误码(404/502/503/等)重定向到一个页面
一、案列
1.Nginx
默认 error_page
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
2.try_files
location /error {
root html;
ry_files $uri /502.html;
}
#当访问到不存在的页面时,将跳转到/502.html页面,此时浏览器地址栏 URL 没变化,但是状态码不再是 502,而是200
重定向到内部页面
location /error {
root html;
error_page 502 /502.html;
}
重定向到外部页面
location /error {
root html;
error_page 502 https://blog.kjarbo.com/error;
}
3.error_page 502 503 /50x.html
error_page 502 503 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
error_page 502 503 =200 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
#访问产生 502 、503 的时候给用户的返回状态是200,内容是50x.html
4.named location
error_page 500 502 503 504 @maintenance;
location @maintenance {
proxy_pass http://backend;
5.动态 php
error_page 404 = /404.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
6.修改 HTTP
状态码
location /error {
root html;
error_page 502 = /502.html;
}
#由于这里 /502.html 页面是存在的,状态码是 200
二、Nginx 自定义 404 错误页面配置中有无等号的区别
error_page 404 /404.html
可显示自定义 404
页面内容,正常返回 404
状态码。
error_page 404 = /404.html
可显示自定义 404
页面内容,但返回 200
状态码。
error_page 404 /404.php
如果是动态 404
错误页面,包含 header
代码(例如 301
跳转),将无法正常执行。正常返回 404
代码。
error_page 404 = /404.php
如果是动态 404
错误页面,包含 header
代码(例如301跳转),加等号配置可以正常执行,返回 php
中定义的状态码。但如果 php
中定义返回 404
状态码,404
状态码可以正常返回,但无法显示自定义页面内容(出现系统默认 404
页面),这种情况可以考虑用 410
代码替代( header("HTTP/1.1 410 Gone"
); 正常返回 410
状态码,且可正常显示自定义内容)。
三、案例输出
1.上游应用程序不在线时,返回 /502.html
server {
listen 80;
server_name blog.kjarbo.com;
location / {
proxy_pass http://10.10.10.10:80;
error_page 502 =200 @maintenance;
}
location @maintenance {
root /usr/local/nginx/html/error;
try_files $uri /502.html =503;
}
}
2.Nginx
反向代理无法加载 js
、css
文件
location ~ .*\.(js|css)$ {
root /usr/local/nginx/html/static;
}
3.禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
2079 0 2020-09-20
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353608 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...