单个目录的Nginx自定义错误页面

时间:2017-09-11 14:05:14

标签: nginx ubuntu-16.04 nginx-location

这是我的自定义错误页面的nginx配置。但我的问题是我得到了我的服务器中发生的所有404错误的自定义404错误页面。我想只为特定目录获取自定义错误页面。

server {       
     listen 80 default_server;
     listen [::]:80 default_server;

    index index.html index.htm index.nginx-debian.html;

    server_name localhost;

    location / {
        root /var/www/html;
        try_files $uri $uri/ =404;
        }

    error_page 404 /fail.html;

    location = /fail.html {
        root /var/www/html/checking/errors;
        internal;
        }
    location /testing/([a-zA-Z]+)/ {
        root /var/www/html/testing/$1;
        try_files $uri $uri.html;
        }
    }

1 个答案:

答案 0 :(得分:0)

假设您要求的是当人们尝试查看/testing/does-not-exist格式的文件时,他们会看到您的错误文件,您希望将error_page 404 /fail.html移动到该位置块内。如果您现在拥有它(在服务器块内),它将适用于所有请求。如果它是针对您希望显示错误的其他路径,请为该路径创建新的位置块,然后将error_page指令添加到该块。