Страница пользовательского обслуживания nginx 503

У меня есть nginx с кастомным 503.

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">

Все это работает нормально.

Проблема в том, что я хотел бы заменить ссылку css относительной, например 503-static/maintenance.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? Любая помощь с перезаписью?

Спасибо


person Mircea Stanciu    schedule 30.01.2014    source источник


Ответы (1)


Просто удалите протокол и домен, оставьте косую черту в начале. Относительные пути очень плохо подходят для этого сценария. Абсолют работает отлично.

person Melvyn    schedule 31.01.2014