如何在Nginx配置文件中修改自定义404错误页面?
Nginx自定义错误页配置修正方案
现有配置存在的问题
- 错误码映射的
error_page指令处于注释状态,未启用自定义错误页逻辑 - 错误页匹配的正则规则书写错误,无法正确捕获错误码、定位到对应错误页文件
- 命名location
@error未关联HTTP状态码,返回错误页时会默认返回200状态码,不符合HTTP协议规范
修正后完整配置
server { listen 888; server_name phpmyadmin; index index.html index.htm index.php; root /www/server/phpmyadmin; location ~ /tmp/ { return 403; } # 启用自定义错误页,可按需补充更多错误码 error_page 403 404 500 502 503 504 /$status-error.html; location ~ ^/[0-9]{3}-error\.html$ { try_files $uri @error; internal; } location @error { root /var/www/wwwroot/umutisik.com/error_docs; # 优先返回对应错误码的页面,找不到则返回500状态 try_files /$status-error.html =500; } }
生效验证步骤
- 确认
/var/www/wwwroot/umutisik.com/error_docs目录下存在对应错误码的html文件,例如404-error.html、403-error.html - 执行
nginx -t命令校验配置是否存在语法错误,返回test is successful代表配置合法 - 执行
nginx -s reload命令重载Nginx配置,修改即可生效
内容的提问来源于stack exchange,提问作者Umut Işık
相关产品推荐
相关产品推荐

