snake Опубликовано 18 января, 2016 Жалоба Поделиться Опубликовано 18 января, 2016 (изменено) При использовании https соединения заголовки Last-Modified не отдаютсяв .htaccess прописано: # Редирект https RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} Изначально при использовании http соединения в index.php было прописано: // Если все хорошо if(($res = $view->fetch()) !== false) { // Выводим результат header("Content-type: text/html; charset=UTF-8"); $LastModified_unix = strtotime($view->last_update); // время последнего изменения страницы if(!empty($LastModified_unix) && $LastModified_unix > 0) { $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix); $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'); } header('Last-Modified: '. $LastModified); } print $res; и все работало корректно.Подскажите, где может быть проблема Изменено 18 января, 2016 пользователем snake Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 января, 2016 Жалоба Поделиться Опубликовано 18 января, 2016 (изменено) Неплохо было бы если показали б весть .htaccess или хотя бы как передаются заголовки If-Modified-Since на сайт. Так же для этого вопроса нужно знать как работает php на сервере Изменено 18 января, 2016 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
snake Опубликовано 18 января, 2016 Автор Жалоба Поделиться Опубликовано 18 января, 2016 (изменено) файл .htaccess AddDefaultCharset UTF-8 ErrorDocument 404 /404 ErrorDocument 401 /password.php RewriteEngine on # Редирект https RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301] # Админка теперь по адресу /simpla RewriteRule ^admin/?$ simpla [L] # Каталог товаров RewriteRule ^catalog/([^/]+)/?$ index.php?module=ProductsView&category=$1 [L,QSA] RewriteRule ^catalog/([^/]+)/([^/]+)/?$ index.php?module=ProductsView&category=$1&brand=$2 [L,QSA] RewriteRule ^products/([^/]+)/?$ index.php?module=ProductView&product_url=$1 [L,QSA] RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA] RewriteRule ^brands/([^/]+)/?$ index.php?module=ProductsView&brand=$1 [L,QSA] RewriteRule ^brands/([^/]+)/page_([^/]+)/?$ index.php?module=ProductsView&brand=$1&page=$2 [L,QSA] # Поиск товаров RewriteRule ^search/([^/]+)/?$ index.php?module=ProductsView&keyword=$1 [L,QSA] RewriteRule ^search/?$ index.php?module=ProductsView [L,QSA] # Блог RewriteRule ^blog/([^/]+)/?$ index.php?module=BlogView&url=$1 [L,QSA] RewriteRule ^blog/?$ index.php?module=BlogView [L,QSA] # Корзина и заказы RewriteRule ^cart/?$ index.php?module=CartView [L,QSA] RewriteRule ^cart/([^/]+)/?$ index.php?module=CartView&add_variant=$1 [L,QSA] RewriteRule ^cart/remove/([^/]+)/?$ index.php?module=CartView&delete_variant=$1 [L,QSA] RewriteRule ^order/([^/]+)/?$ index.php?module=OrderView&url=$1 [L,QSA] RewriteRule ^order/?$ index.php?module=OrderView [L,QSA] # Для пользователей RewriteRule ^user/login/?$ index.php?module=LoginView [L,QSA] RewriteRule ^user/register/?$ index.php?module=RegisterView [L,QSA] RewriteRule ^user/logout/?$ index.php?module=LoginView&action=logout [L,QSA] RewriteRule ^user/password_remind/?$ index.php?module=LoginView&action=password_remind [L,QSA] RewriteRule ^user/password_remind/([0-9a-z]+)/?$ index.php?module=LoginView&action=password_remind&code=$1 [L,QSA] RewriteRule ^user/?$ index.php?module=UserView [L,QSA] # Статьи RewriteRule ^articles/([^/]+)/?$ index.php?module=ArticlesView&category=$1 [L,QSA] RewriteRule ^articles/?$ index.php?module=ArticlesView [L,QSA] RewriteRule ^article/([^/]+)/?$ index.php?module=ArticlesView&article_url=$1 [L,QSA] RewriteRule ^article/?$ index.php?module=ArticleView [L,QSA] # Google sitemap RewriteRule ^sitemap.xml?$ sitemap.php [L,QSA] # XML RewriteRule ^yandex.xml?$ yandex.php [L,QSA] # feedback RewriteRule ^contact/?$ index.php?module=FeedbackView [L,QSA] #downloads RewriteRule ^order/([^/]+)/([^/]+)/?$ index.php?module=OrderView&url=$1&file=$2 [L,QSA] # Статические страницы RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA] RewriteRule ^/?$ index.php?module=MainView&page_url= [L,QSA] # Ресайз картинок на лету RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING} #RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*) #RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE] # Ресайз картинок на лету RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^files/articles/(.+) resize/resizeart.php?file=$1&token=%{QUERY_STRING} #RewriteCond %{THE_REQUEST} ^GET\ (.*)files/articles/(.*)\?([A-z0-9]*) #RewriteRule ^files/articles/(.+) resize/resizeart.php?file=%2&token=%3 [L,NE] RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}] RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}] <ifModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule> <IfModule mod_headers.c> <FilesMatch "\.(js|css|xml|gz)$"> Header append Vary: Accept-Encoding </FilesMatch> </IfModule> ### 1. Обработка js-файлов <FilesMatch «\.js.gz$«> ForceType text/javascript Header set Content-Encoding: gzip </FilesMatch> <FilesMatch «\.js$„> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !“.*Safari.*» RewriteCond %{HTTP:Accept-Encoding} gzip RewriteCond %{REQUEST_FILENAME}.gz -f RewriteRule (.*)\.js$ $1\.js.gz [L] ForceType text/javascript </FilesMatch> # Включаем кэш в браузерах посетителей <IfModule mod_expires.c> <FilesMatch \.(gif|png|jpg|jpeg|ogg|mp4|mkv|flv|swf|wmv|asf|asx|wma|wax|wmx|wm|woff)$> ExpiresDefault "access plus 1 year" </FilesMatch> ExpiresActive on ExpiresByType image/jpeg "access plus 7 day" ExpiresByType image/gif "access plus 7 day" ExpiresByType image/png "access plus 7 day" <FilesMatch \.(css|js)$> ExpiresDefault "access plus 1 year" </FilesMatch> ExpiresByType text/css "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" </IfModule> # сжатие text, html, javascript, css, xml: <ifModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript </ifModule> при работе без SSL сертификата все работало хорошо, да и сейчас все остальное работает хорошо, кроме Last-Modified Изменено 18 января, 2016 пользователем snake Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 января, 2016 Жалоба Поделиться Опубликовано 18 января, 2016 Попробуйте с вложения.Если не поможет то полагаю что он теряется при редиректе.Нужно будет поэкспериментировать....htaccess.zip Цитата Ссылка на сообщение Поделиться на другие сайты
snake Опубликовано 18 января, 2016 Автор Жалоба Поделиться Опубликовано 18 января, 2016 Попробуйте с вложения.Если не поможет то полагаю что он теряется при редиректе.Нужно будет поэкспериментировать...Спасибо, разобрался.Изначально в файле .htaccess допустил ошибку. Вместо этих двух редиректов: # Редирект https RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ https://%1/$1 [L,R=301] надо было писать следующее: # Редирект https и с www на без www RewriteBase / RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. RewriteRule (.*) https://site.ru/$1 [L,R=301] Хотя сервис на котором проверял :http://last-modified.com/ru/if-modified-since.htmlопределяет некорректно заголовки и на нем они и сейчас почему-то не проходят, хотя при проверке здесь:www.tools.seo-auditor.ru/if-modified-since/все ок Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.