Помогите разобраться в HTTP заголовками и Expires

[Удален]
558

Добавил такой код в htaccess

<IfModule mod_expires.c>

ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 7 days"
</IfModule>

Но в итоге для самого домена выдает

Expires Thu, 19 Nov 1981 08:52:00 GMT

А для большинства элементов (JS, CSS, картинки) выдает

Expires Wed, 24 Dec 2014 13:54:03 GMT

То есть только на месяц для всех.

Что не так?

Еще вопрос про Last-Modified, хотелось бы облегчить работу для пауков.

Для самого домена он не возвращается, а для элементов на странице (JS, CSS, картинки) он выдается. Как сделать, чтобы он для страницы в целом отдавался?

[umka]
На сайте с 25.05.2008
Offline
456
#1
axel2001:
А для большинства элементов (JS, CSS, картинки) выдает
Expires Wed, 24 Dec 2014 13:54:03 GMT
То есть только на месяц для всех.

Что не так?

Так вы сами и указали 1 месяц для css и js. Для картинок должен быть год.

axel2001:
Еще вопрос про Last-Modified, хотелось бы облегчить работу для пауков.
Для самого домена он не возвращается, а для элементов на странице (JS, CSS, картинки) он выдается. Как сделать, чтобы он для страницы в целом отдавался?

Этот заголовок должен формировать и выдавать движок, потому что веб-серверу не известно, какая дата модификации у контента на странице.

Лог в помощь!
[Удален]
#2

Так в том то и вопрос, что для картинок тоже 1 месяц судя по HTTP заголовку.

То есть, если в CMS это не реализовано, надо самому в хедер добавлять код, чтобы он на всех страницах был?

[umka]
На сайте с 25.05.2008
Offline
456
#3
axel2001:
Так в том то и вопрос, что для картинок тоже 1 месяц судя по HTTP заголовку.

Если для картинок у вас устанавливается срок "+1 месяц", значит, где-то эти значения переопределяются.

axel2001:
То есть, если в CMS это не реализовано, надо самому в хедер добавлять код, чтобы он на всех страницах был?

Нужно не просто добавить код, добавляющий http-заголовок. Нужно сделать так, чтобы дата вычислялась от даты самого "старого" элемента на странице.

[Удален]
#4

Вот и хочется понять, где это может переопределяться.

[umka]
На сайте с 25.05.2008
Offline
456
#5
axel2001:
Вот и хочется понять, где это может переопределяться.

Так в других .htaccess-ах

Например, в директории с картинками.

Или ваш .htaccess может по какой-то причине игнорироваться.

A
На сайте с 19.07.2010
Offline
130
#6

еще возможная версия "на угадай причину": если перед апачем стоит nginx, то экспиреды нужно(желательно) прописывать именно в нем.

.............
[Удален]
#7

Да, стоит.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий