X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Правильный заголовок Last-Modified
sergei299
sergei299
Topic Starter сообщение 21.6.2013, 11:47; Ответить: sergei299
Сообщение #1


(Конкурсная тема, конкурс "Web-ошибки")

Свой первый сайт я сделал самописный на инклюдах и прочитав советы Яндеса:
Следите, чтобы все нужные страницы сайта отдавали код 200 OK.
Следите за корректностью http-заголовков. В частности, важно, содержание ответа, который сервер отдает на запрос «if-modified-since». Заголовок Last-Modified должен отдавать корректную дату последнего изменения документа.

долгое время искал способ решения этой проблемы.

Реализовать все это получилось вставив этот код <!--?php include $_SERVER['DOCUMENT_ROOT'].'/is-modified.php' ; ?--> перед тегом на каждой странице и закинув на сайта файл is-modified.php со следующим содержимым
<!--?php
$failo=substr($SERVER_NAME.$SCRIPT_FILENAME,strlen($SERVER_NAME));
$LastModified_unix=filemtime($failo);
$LastModified = gmdate('D, d M Y H:i:s',filemtime(substr($SERVER_NAME.$SCRIPT_FILENAME,strlen($SERVER_NAME)))).' GMT';
$IfModifiedSince = false;
if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))    
  $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))    
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince -->= $LastModified_unix)
{
header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');    
exit;
}
header('Last-Modified: '. $LastModified);
//компрессия на сервере
ob_start("ob_gzhandler");
?>


Для сайтов на Вордпресс я делаю это при помощи плагина wp-super-cache поставив галочку в настройках возле пункта Ошибка 304

Думаю данная информация может пригодится начинающим Вебмастерам

При поддержке: Fozzy - эксклюзивный спонсор конкурса на Masterwebs. На хостинге Fozzy ваш сайт будет работать до 3-х раз быстрее, а отзывчивая поддержка поможет в любой трудной ситуации. Попробуйте быстрый хостинг Fozzy бесплатно в течение 7 дней!
[img]http://www.masterwebs.ru/sp/fozzy-konkurs.gif[/img]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 21.6.2013, 17:02; Ответить: fedornabilkin
Сообщение #2


Я как-то тоже задавался этим вопросом, все вроде сделал, но не учел кое-чего.
Когда пользователь запрашивает страницу, я брал значения из БД, сверял и все вроде ок, но загвоздка в авторизации.
Если пользователь впервые зашел на страницу без авторизации, то браузер закеширует форму логин/пасс, а пользователь потом авторизуется, зайдет на страницу, а ему браузер из кэша с формой авторизации.
Как быть не знаю.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sergey_on
Sergey_on
сообщение 2.7.2013, 19:37; Ответить: Sergey_on
Сообщение #3


$LastModified_unix=filemtime($failo);
$LastModified = gmdate('D, d M Y H:i:s',filemtime(substr($SERVER_NAME.$SCRIPT_FILENAME,strlen($SERVER_NAME)))).' GMT';


А я в одной из своих недавних статей как раз писал о том, что не рекомендую использовать время последнего изменения файла для указания даты последнего изменения страницы, так как многие хостинг провайдеры не выдают корректное время изменения файла, а потому к нему лучше не привязываться. Кстати, вот моя статья об этом: заголовки Last-Modified и if-modified-since.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Правильный аудит для вашего проекта!
Высокое качество, хорошая цена, без воды!
6 Salikov 3357 6.5.2019, 14:56
автор: Salikov
Открытая тема (нет новых ответов) Как создавать правильный контент
4 Triniti_Wel_mw 1570 30.4.2017, 20:39
автор: pozitron123
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПродам сайт .info - туризм, домен - правильный транслит страны EU
Пробрел пару недель назад, не хватает времени на него
5 TexTSelleR 3370 29.9.2015, 16:10
автор: TexTSelleR
Открытая тема (нет новых ответов) Заголовок модуля как ссылка
6 Tati_2000 5081 24.7.2011, 16:01
автор: -alexdrob-
Открытая тема (нет новых ответов) заголовок на каждом листе при печати
3 JarVal 10159 11.5.2008, 7:32
автор: -JarVal-


 



RSS Текстовая версия Сейчас: 29.3.2024, 18:14
Дизайн