手动阀

Good Luck To You!

Nginx中定义404页面并且返回404状态码的正确方法

在Nginx中定义自定义404页面并返回404状态码,可以通过修改Nginx的配置文件来实现,以下是一个示例步骤:

Nginx中定义404页面并且返回404状态码的正确方法

1、创建自定义404页面:

创建一个自定义的404页面,可以创建一个名为custom_404.html 的文件,并将其放置在你的网站的根目录或一个合适的位置。

2、配置Nginx:

编辑你的Nginx配置文件(通常是/etc/nginx/nginx.conf 或者位于/etc/nginx/sitesavailable/ 下的某个站点配置文件)。

3、添加错误页面配置:

在你的服务器块 (server block) 内,使用error_page 指令来定义自定义的错误页面,并且确保它返回正确的HTTP状态码,以下是一个示例配置:

server {
    listen 80;
    server_name example.com;
    # 设置根目录
    root /var/www/html;
    # 自定义404页面并返回404状态码
    error_page 404 /custom_404.html;
    location = /custom_404.html {
        internal;
    }
    location / {
        try_files $uri $uri/ =404;
    }
}

详细解释

1、root /var/www/html;:

Nginx中定义404页面并且返回404状态码的正确方法

设置网站的根目录。

2、error_page 404 /custom_404.html;:

当发生404错误时,将请求重定向到/custom_404.html 文件。

3、location = /custom_404.html { internal; }:

这个内部块 (internal block) 确保/custom_404.html 不会被客户端直接访问,只能通过Nginx内部的重定向来访问,这有助于防止搜索引擎索引该错误页面。

4、location / { ... }:

这是主要的请求处理块,用于处理所有其他请求。try_files 指令尝试按顺序查找文件或目录,如果找不到匹配项,则返回404状态码。

Nginx中定义404页面并且返回404状态码的正确方法

5、=404:

这是一个快捷方式,表示如果前面的条件都不满足,则返回404状态码。

重启Nginx

完成配置后,需要重新加载Nginx配置以使更改生效:

sudo systemctl reload nginx

或者,如果你是通过服务脚本管理的Nginx:

sudo service nginx reload

这样,当用户访问一个不存在的资源时,他们将会看到你自定义的404页面,并且浏览器会显示404状态码。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.