如何将每个页面重定向到Nginx上的错误页面?

时间:2019-09-03 16:36:40

标签: nginx redirect error-handling nginx-config

我有多个网站和子域。 其中之一是https://dev.dmetzler1988.io

对于“ asdf.dmetzler1988.io”或“ dmetzler1988.io”或“ dev.dmetzler1988.io/asdf”,我将显示我的错误页面(当前在http://error.dmetzler1988.io上可用)。

但是在大​​多数情况下,会重定向到https://dev.dmetzler1988.io

我尝试添加 -永久重定向到http://error.dmetzler1988.io -仅是我的错误页面的index.html的根路径

我还尝试了return和rewrite,并尝试了其他一些解决方案(例如来自this hostinger.com tutorialsthis from stackoverflow的解决方案)。

我的https://dev.dmetzler1988.io的nginx配置看起来像这样:

server {
    listen 80;
    listen [::]:80;
    server_name dev.dmetzler1988.io;

    # Redirect non-https traffic to https
    if ($scheme != "https") {
        return 301 https://$server_name$request_uri;
    }
}

server {
    listen 443 ssl;
    listen [::]:443 ssl http2;

    ssl    on;
    ssl_certificate    /etc/letsencrypt/live/dev.dmetzler1988.io/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/dev.dmetzler1988.io/privkey.pem;

    server_name dev.dmetzler1988.io;
    root /var/data/websites/dmetzler1988.io/dev.dmetzler1988.io;
    index index.html index.php;
}

我最后一次重定向尝试如下:

server {
      hostname dmetzler1988.io;
      rewrite ^ http://error.dmetzler1988.io$request_uri? permanent;
}

任何想法,我在做什么错了?

我希望“ asdf.dmetzler1988.io”或“ dmetzler1988.io”或“ dev.dmetzler1988.io/asdf”将重定向到或调用我的错误页面(当前在http://error.dmetzler1988.io上)。 / p>

谢谢您的帮助。

0 个答案:

没有答案