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

  

Nginx中定义404页面并返回404状态码是一个常用的功能。下面将介绍如何在Nginx中实现这一功能,这里给出两条示例。

定义404页面并返回404状态码的方法

  1. 设置错误页

可以在Nginx配置文件中设置错误页。在http{}块中添加以下配置:

error_page 404 /404.html;

这将会在访问的页面不存在时,返回自定义的404页面。

  1. 返回404状态码

为了返回404状态码,需要设置响应头中的HTTP状态码。在server{}块中添加以下配置:

location / {
    # 其他处理请求的配置
    return 404;
}

这将会在访问的页面不存在时,返回404状态码。

示例1

下面是示例1的完整配置:

http {
    # 设置404页面
    error_page 404 /404.html;

    # 服务器配置
    server {
        listen 80;
        server_name example.com;

        root /var/www/example.com;

        location / {
            # 其他处理请求的配置

            # 返回404状态码
            return 404;
        }

        # 自定义404页面
        location = /404.html {
            root /var/www/example.com;
        }
    }
}

在这个示例中,对example.com返回404状态码,同时定义了404页面。

示例2

下面是示例2的完整配置:

http {
    # 服务器配置
    server {
        listen 80;
        server_name example.com;

        root /var/www/example.com;

        location / {
            # 其他处理请求的配置

            if ($request_uri ~* "/(download|images)") {
                # 下载和图片目录的请求返回404状态码
                return 404;
            }
        }
    }
}

在这个示例中,如果请求的URI中包含/download或/images,则返回404状态码。注意,不要在if语句中使用rewrite指令,因为它会让浏览器重新发送请求,而HTTP状态码将被更改为200 OK。

相关文章