add_header только для текста / html? - PullRequest
0 голосов
/ 21 января 2020

Я искал способ уменьшить вес заголовков HTTP с моего сайта. Например, в настоящее время на моем веб-сайте есть следующие ресурсы:

https://example.com/
https://example.com/style.css
https://example.com/custom.js
https://example.com/font.woff2
https://example.com/anotherfont.woff2
https://example.com/logo.png

Скажем, я хочу перенести / предварительно загрузить ресурсы, используя заголовок HTTP, включив фрагмент в мой vhost, как показано ниже:

http2_push_preload on;
more_set_headers "Link </logo.png>; rel=preload; as=image,</font.woff2>; rel=preload; as=font; crossorigin,</style.css>; rel=preload; as=syle";

Выполнение этого заставляет работать Push / Preload, но проблема в том, что Заголовок для Preload появляется в HTTP-ответе каждого ресурса.

Я хочу, чтобы HTTP-заголовок preload был доступен только для URL основного индекса, например:

https://example.com/
https://example.com/article/

Приведенные выше URL-адреса должны иметь заголовок HTTP предварительной загрузки, но HTTP-ответ от Stati c Ресурсы не должны иметь заголовок предварительной загрузки, потому что для меня это не имеет никакого смысла.

Пока что я попробовал следующий фрагмент, но он не работает:

location ~* \.(html|text/html)$ {
http2_push_preload on;
    more_set_headers "Link </logo.png>; rel=preload; as=image,</font.woff2>; rel=preload; as=font; crossorigin,</style.css>; rel=preload; as=syle";
}
...