Created
March 13, 2021 21:00
-
-
Save aktaumag/4e036bff9cd32a74dc267800091e2c65 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Обеспечение корректной обработки If-Modified-Since имеет чрезвычайно важную роль, если мы боремся за органический трафик. |
Заметка
Чтобы в PHP получить заголовок запроса
в .htaccess прописываем правило
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
</IfModule>
А потом уже в самом PHP получаем значения переданные в запросе и возвращаем либо сайт, либо 304 ответ
$_SERVER['HTTP_IF_MODIFIED_SINCE']
и $_SERVER['HTTP_IF_NONE_MATCH']
Примерный пример (чужой код)
function caching_headers ($file, $timestamp) {
$gmt_mtime = gmdate('r', $timestamp);
header('ETag: "'.md5($timestamp.$file).'"');
header('Last-Modified: '.$gmt_mtime);
header('Cache-Control: public');
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || isset($_SERVER['HTTP_IF_NONE_MATCH'])) {
if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $gmt_mtime || str_replace('"', '', stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])) == md5($timestamp.$file)) {
header('HTTP/1.1 304 Not Modified');
exit();
}
}
}
caching_headers ($_SERVER['SCRIPT_FILENAME'], filemtime($_SERVER['SCRIPT_FILENAME']));
Письмо хостеру или сисадмину (переделанное).
Добрый день!
Домен: (указать домен)Проверяю логотип: (ссылка на логотип)
На этом ресурсе: https://last-modified.com/ru/if-modified-since.html
Получаем ошибку: (скриншот)Для исправления ситуации в конфигурации Nginx нужно прописать настройку: if_modified_since before; для всех статических файлов.
Должно получиться примерно так:
# Static files location location ~* ^.+\.(jpg|jpeg|gif|swf|png|avif|webp|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|docx|xls|xlsx|exe|pdf|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js|7z|woff|woff2|ttf|svg|iso)$ { # ... тут могут быть ещё и другие настройки для статических файлов if_modified_since before; }
Можете ли вы это сделать?
Или можете подсказать где/как я могу самостоятельно прописать эту настройку?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Плагин для добавления заголовков к постам Wordpress: https://wordpress.org/plugins/last-modified-and-if-modified-since-headers/