NGINX自定义404页面没有重定向

时间:2016-10-06 00:38:47

标签: nginx

默认情况下,当NGINX返回404时,它会呈现一些默认HTML。例如,像:

<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.10.0 (Ubuntu)</center>
</body>
</html>

我想自定义此HTML,但保持URL不变。我已经尝试为404s设置错误页面:

error_page 404 /404.html

但首先会将浏览器重定向到/404.html

有没有办法在不重定向的情况下自定义404 HTML?

2 个答案:

答案 0 :(得分:1)

您可以使用nginx的error_pageproxy_intercept_errors指令

来执行此操作

详细配置

server {
    ## other config
    ## here the proxy_intercept_errors directive is the key
    proxy_intercept_errors on;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        ## your 50x.html file parent directory
        root   /var/www; 
    }
    error_page   404  /404.html;
    location = /404.html {
        ## your 404.html file parent directory
        root   /var/www; 
    }
}

nginx官方网站上的文件:

proxy_intercept_errorserror_page

答案 1 :(得分:0)

此配置对我有用

error_page 404 /404.html;
location = /404.html {
    internal;
}

Qt documentation