Кэширующие сайты, такие как Google PageSpeed, продолжают показывать мои файлы в кеше всего 2 часа. Что-то не так с моим файлом htaccess? Порядок правил? ThanksНеверный код .htaccess?
-Все другие правила в файле работают. (Ну, у меня есть код для отключения ETags, который, похоже, не работает)
-Им пользуюсь CloudFlare, но поддержка говорит мне, что в облаке нет ничего, что влияет на время кеша.
AddCharset UTF-8 .html
RewriteEngine on
RewriteOptions inherit
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301,NC]
################ Require ending trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ %{REQUEST_URI}/ [R=301,L]
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 1 month"
</IfModule>
## EXPIRES CACHING ##
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>
## ENABLE COMPRESSION ##
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType application/x-httpd-php .html .htm
ErrorDocument 404 /404.php
ErrorDocument 410 /410.php
Я тогда есть несколько RewriteCond в
У вас есть mod_expires включен? '' будет пропущен, если нет. Прокомментируйте окружающие строки ' ', чтобы заставить все 'Expires' запускаться - взорвав с ошибкой 500? –
Я бы посоветовал вам отредактировать ваше сообщение, чтобы удалить свой домен из правил перезаписи - если вы оставите его как есть, это может быть неверно истолковано как спам-сообщение. –
Я удалил и , и никаких изменений не было. Я также заменил домен, я оставил его там, если кто-то захочет запустить тест. –
Cypher