nginx 404 默认页面
当我们使用 Nginx 作为 Web 服务器时,配置一个自定义的 404 错误页面可以提升用户体验。介绍如何设置 Nginx 的 404 页面。
解决方案
要实现自定义的 404 页面,我们可以通过修改 Nginx 的配置文件来指定当资源未找到时返回特定的 HTML 文件。这不仅可以让用户在访问不存在的页面时得到更友好的提示,还可以通过这种方式传达一些品牌信息或引导用户回到站点的主要内容。
方法一:直接配置静态页面
最简单的方法是在 Nginx 配置中添加一行代码以指向一个静态的 HTML 文件作为 404 页面。确保你有一个名为 404.html
的文件存放在合适的位置,例如 /usr/share/nginx/html/
目录下。然后编辑你的 Nginx 配置文件(通常位于 /etc/nginx/nginx.conf
或者站点配置文件在 /etc/nginx/sites-available/default
),加入如下配置:
nginx
http {
...
server {
...
error_page 404 /404.html;
location = /404.html {
internal;
}
...
}
}
这里的关键是 error_page 404 /404.html;
行,它告诉 Nginx 当遇到 404 错误时应该返回哪个文件。而 location = /404.html { internal; }
确保这个 404 页面只能由内部重定向触发,不能被直接从外部访问。
完成以上更改后,记得保存文件并重启 Nginx 服务使配置生效。
方法二:动态生成 404 页面
如果希望 404 页面具有更多的交互性或根据不同的条件显示不同内容,可以考虑使用脚本语言如 PHP 来动态生成 404 页面。假设你已经安装了 PHP-FPM 并且 Nginx 支持处理 PHP 请求,那么可以在 Nginx 配置中做如下调整:
nginx
server {
...
error_page 404 /404.php;
location = /404.php {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include snippets/fastcgi-php.conf;
internal;
}
...
}
在这个例子中,我们将 404 错误指向了一个 PHP 脚本 404.php
,并通过 FastCGI 接口传递给 PHP 处理器执行。你需要确保 PHP-FPM 正常工作并且路径正确无误。
请注意,无论是静态还是动态 404 页面,都应该尽量保持简洁明了,并提供有用的链接帮助用户继续浏览网站的内容。在实际部署前,请务必测试新配置是否按预期工作。