nginx自定义维护503页面

时间:2014-01-30 22:20:27

标签: nginx rewrite maintenance http-status-code-503

我有一个带有自定义503的nginx。

error_page 503 @maintenance;

location @maintenance {
    root   /usr/share/nginx/html/custom/503;
    rewrite ^(.*)$ /index.html break;
}

location  /503-static/ {
    root /usr/share/nginx/html/custom/;
}

我的/503/index.html是我的自定义维护页面,其中包含一个不错的CSS和照片:

<link rel="stylesheet" type="text/css" href="https://www.mydomain.tld/503-static/maintenance.css">

所有这些都运转良好。

问题是我想用一个像503-static / maintenance.css这样的相对代替css链接。

在用户请求时:www.mydomain.tld将加载自定义html,并且还会加载带有相对路径的maintenance.css

但是:在用户请求的情况下:www.mydomain.tld / a / b / c / bla.html,我的自定义503索引html将被正常加载,但css的相对链接将是$ document_root / a / b /c/503-static/maintenance.css ....并且不会显示

我的问题是:使用css文件的相对链接路径...如何应对不同的$ uri?任何重写的帮助?

谢谢

1 个答案:

答案 0 :(得分:0)

只需删除协议和域,保留前导斜杠。相对路径非常不适合这种情况。绝对完美的工作。