Я скомпилировал и установил nginx на своем сервере (Fedora 21 x64).
Я добавил expires и некоторые дополнительные заголовки для статического содержимого. Но дело в том, что nginx не добавляет expires и дополнительные заголовки для корневого каталога и подкаталогов.
Позвольте мне объяснить это наглядно.
mydomain.com/anything.html <-- Истекает + Добавлены дополнительные заголовки.
mydomain.com/index.html --> (перенаправление) mydomain.com/ <-- Нет заголовков, нет сроков действия.
mydomain.com/projects/index.html --> (перенаправление) mydomain.com/projects/ <-- Нет заголовков, нет сроков действия.
Я настроил свой сервер на перенаправление /index.html в его родительский подкаталог.
Вот часть конфигурации:
if ($request_uri ~ ^(.*/)index\.html($|\?.*)?) {
return 301 $1$2;
}
location ~* \.html$ {
expires max;
add_header "x-ua-compatible" "ie=edge";
add_header x-frame-options deny;
add_header x-content-type-options nosniff;
add_header x-xss-protection "1; mode=block";
add_header "cache-control" "no-transform";
access_log logs/static.log;
}
решение1
Неважно. Это был вопрос переупорядочивания вещей.
Вот рабочая конфигурация.
location ~* \.html$ {
add_header "x-ua-compatible" "ie=edge";
add_header x-frame-options deny;
add_header x-content-type-options nosniff;
add_header x-xss-protection "1; mode=block";
add_header "cache-control" "no-transform";
expires max;
gzip_static always;
access_log logs/static.log;
}
location ~* \.(?:html|css|js|txt|xml)$ {
gzip_static always;
}