如何将不存在的子域重定向到自定义404页面

时间:2018-12-26 12:29:12

标签: nginx nginx-config

我目前使用Nginx从不存在的子域重定向到默认的404页面。
例如,当用户尝试访问123asdfg.domain.com(此子域不存在)时,它将显示此消息https://imgur.com/a/G6bVlEa(默认的nginx 404消息)。

我想要显示一个自定义的404页面,例如我在/var/www/default/error/404.html

中设置的页面

当前这是我的设置,在可用的网站中,我有subdomain.domain.com.conf,subdomain2.domain.com.conf和默认值。

这是我的默认配置:

server {
     server_name _;
     listen 80 default_server;
     return 404;

}

server {
     server_name _;
     listen 443 default_server;

     ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
     return 404;

}    

我尝试添加它,但是默认情况下它似乎不起作用,如果我将其添加到subdomain.domain.com.conf中,它适用于相应的子域,则我的意图是在全球范围内工作,以便当用户尝试访问无效的子域以指向此404文件。

 error_page 404 /error/404.html;
 location ^~ /error/ {
    internal;
    root /var/www/default;
  }

谢谢

0 个答案:

没有答案