跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Nginx文件服务器自定义404与500错误页面

需配置 error_page 指令并确保错误页文件存在、路径正确、MIME 类型准确:在 server 或 http 块中添加 error_page 404 /404.html; 和 error_page 500 502 503 504 /50x.html;,配合 location = /404.html { } 等块,页面置于 root 目录下且 Nginx 有读取权限,显式设置 types 或启用 mime.types,避免使用绝对路径、try_files 干扰,并通过 nginx -t 和 nginx -s reload 生效。 要在 Nginx 文件服务器中自定义 404 和 500 错误页面,核心是配置
error_page
指令,并确保错误页面文件存在、路径可访问、MIME 类型正确。 配置 error_page 指令指向本地静态页 在 server 块或 http 块中添加: 用
error_page 404 /404.html;
将 404 请求重定向到根目录下的
404.html
用
error_page 500 502 503 504 /50x.html;
统一处理常见服务端错误(推荐共用一个页面) 必须配合
location = /404.html { }
或类似块,确保该路径能被正常返回(避免再次触发错误) 确保错误页面可被 Nginx 正确读取和响应 错误页面需满足三个条件: 文件放在
root
指定的目录下(例如
/var/www/html/404.html
),且 Nginx 工作进程有读取权限 页面路径是相对于
root
的 URI 路径,不是文件系统绝对路径 建议在对应 location 块中显式设置
types { text/html html; }
或确认
include mime.types;
已启用,防止返回时 Content-Type 错误 避免常见陷阱 几个容易出错的地方: 不要用
error_page 404 /usr/share/nginx/html/404.html;
—— 这是文件系统路径,Nginx 会当作 URI 处理并报错 如果使用了
try_files
(如静态文件服务常用),它可能拦截请求并跳过 error_page,需确认 404 真由 Nginx 触发而非后端或 try_files 自身返回 修改配置后务必运行
nginx -t
测试语法,并
nginx -s reload
生效,直接重启可能不必要 自定义错误页本身不依赖后端,纯静态即可,但要注意路径、权限和 MIME 类型这三个关键点。不复杂但容易忽略细节。

相关文章