Перейти к содержимому


Пользователь месяца
magnet magnet 1-й за Январь
Очков активности: 621 0 тем, 69 сообщений, 6 баллов репутации
Сайт: rbfxdirect.com
ТОП самых активных за этот месяц
  • Фотография BLIK
    #1

    BLIK
    Очков активности: 472.5 0 тем, 35 сообщений, 9 баллов репутации

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 420 Вне конкурса за определение пользователя месяца

  • Фотография ShowPrint
    #3

    ShowPrint (ShowPrint.ru)
    Очков активности: 396 Вне конкурса за определение пользователя месяца

  • Фотография OlgaGetman
    #4

    OlgaGetman
    Очков активности: 393 Вне конкурса за определение пользователя месяца

  • Фотография Ixman
    #5

    Ixman (o5cat.ru)
    Очков активности: 315 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #6

    Mandarin
    Очков активности: 210 0 тем, 28 сообщений, 5 баллов репутации

  • Фотография r0mZet
    #7

    r0mZet (rz-style.ru)
    Очков активности: 102 0 тем, 17 сообщений, 4 балла репутации

  • Фотография magnet
    #8

    magnet (rbfxdirect.com)
    Очков активности: 43.5 Вне конкурса за определение пользователя месяца

  • Фотография WGN
    #9

    WGN (worldgamenews.com)
    Очков активности: 40.5 0 тем, 27 сообщений, 1 балл репутации

  • Фотография player09
    #10

    player09
    Очков активности: 37.5 3 темы, 16 сообщений, 1 балл репутации

  • Показать весь ТОП 10

Новый Teasernet

Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 19.02.2019
Топ 5 участников по репутации


Правильный заголовок Last-Modified

#1 sergei299

sergei299
  • Неактивные
  • 2 сообщений
  • Репутация: 1
1

Отправлено 21 June 2013 - 10:47

(Конкурсная тема, конкурс "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 дней!
Изображение

 

 

  • 1

#2 fedornabilkin

fedornabilkin
  • Модератор
  • 1134 сообщений
  • Репутация: 194

Отправлено 21 June 2013 - 16:02

Я как-то тоже задавался этим вопросом, все вроде сделал, но не учел кое-чего.
Когда пользователь запрашивает страницу, я брал значения из БД, сверял и все вроде ок, но загвоздка в авторизации.
Если пользователь впервые зашел на страницу без авторизации, то браузер закеширует форму логин/пасс, а пользователь потом авторизуется, зайдет на страницу, а ему браузер из кэша с формой авторизации.
Как быть не знаю.
  • 0

Надо обсудить предложение. А тут знакосчиталка считает знаки. Про Yii2 написано.



#3 Sergey_on

Sergey_on
  • Неактивные
  • 8 сообщений
  • Репутация: 3

Отправлено 02 July 2013 - 18:37

$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.
  • 0



Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru