自定义错误页面是指当用户访问某些出现异常(如不存在的页面、权限受限、服务器错误)时,由网站开发者提供的个性化HTML页面,代替Nginx默认的简陋错误提示。自定义错误页面提升用户体验,用户不会看到冷冰冰的“404 Not Found”,而是友好提示;通过正确的状态码与结构引导搜索引擎处理;
常见错误码解析:
403:表示无访问权限,建议检查权限并提示登录方式
404:表示页面未找到,建议提供首页链接或搜索框
500:表示内部服务器错误,建议提供联系客服信息
502:表示网关错误,建议检查后端服务,设定重试建议
503:表示服务不可用,建议提示稍后再试
云服务器创建自定义错误页面指南:
1. 新建错误页面目录
sudo mkdir -p /var/www/html/errors
2. 编写 HTML 文件
示例:404.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>页面未找到 - 404</title>
<style>
body { font-family: Arial; text-align: center; margin-top: 100px; background: #f8f8f8; }
h1 { font-size: 48px; color: #e74c3c; }
p { font-size: 18px; }
a { color: #3498db; text-decoration: none; }
</style>
</head>
<body>
<h1>404 - 页面不存在</h1>
<p>你访问的页面可能已经被删除或移动。</p>
<p><a href="/">返回首页</a></p>
</body>
</html>
你可以根据企业品牌风格,自定义样式、加入客服跳转链接等。
Nginx配置方法详解:
1.修改站点配置文件
路径通常为 /etc/nginx/sites-available/your_site.conf 或 /etc/nginx/nginx.conf
server {
listen 80;
server_name example.com;
root /var/www/html;
# 普通网页配置
index index.html index.htm;
# 自定义错误页配置
error_page 403 /errors/403.html;
error_page 404 /errors/404.html;
error_page 500 502 503 504 /errors/50x.html;
location /errors/ {
root /var/www/html;
internal;
}
}
配置说明:
error_page 404 /errors/404.html;:定义 404 状态的错误页面路径;
location /errors/:声明错误页面所在位置,但使用 internal 表示不能直接访问;
root /var/www/html;:必须匹配上面错误页面的路径;
多个状态码可以合并定义,例如 error_page 500 502 503 504 /errors/50x.html;
重载配置并测试:
sudo nginx -t # 检查语法
sudo systemctl reload nginx # 应用修改
访问一个不存在的页面,如:
http://your-domain.com/notfound
页面将跳转到自定义的 404 页面。
配合SEO做好404页面优化
1. 返回正确状态码
Nginx 默认行为是返回状态码正确,但确保 HTML 页面中不要做重定向(如跳转到首页),否则搜索引擎会误判你隐藏错误页面。
2. 页面内容包含如下信息:
- 清晰提示错误(如“此页面已丢失”)
- 返回首页链接
- 站内搜索功能
- 热门内容推荐(可提升跳出率)
3. 防止软404
务必确保返回的是 404 状态码,而非 200。例如:
error_page 404 /errors/404.html;
而非:
rewrite ^.*$ /index.html break; # 错误做法,会返回200
一个网站的专业程度,不仅体现在首页的精美,也体现在404页面的细节。好的网站不仅要照顾用户的使用体验,还要对搜索引擎友好。