Google и pingdom.com говорят, что я должен Msgstr "Укажите заголовок Vary: Accept-Encoding"
Я не знаю и не понимаю, как это сделать. Кто-нибудь может объяснить, что это такое и что он делает?
Google и pingdom.com говорят, что я должен Msgstr "Укажите заголовок Vary: Accept-Encoding"
Я не знаю и не понимаю, как это сделать. Кто-нибудь может объяснить, что это такое и что он делает?
Я получаю почти 100% баллов в https://tools.pingdom.com/ и https://developers.google.com/speed/pagespeed/insights/
Я нашел полезную почту, чтобы ускорить создание веб-сайта или блога Wordpress https://www.keycdn.com/blog/speed-up-wordpress/
С некоторыми другими оптимизациями, я также использую код ниже на моем сайте в файле .htaccess
(обычно скрытый в основной папке веб-сайта)
Мой сервер - это Apache, вы можете проверить панель управления хостингом (например, cPanel/WHM Panel) (если ваш сервер nginx проверяет сообщение keycdn.com)
(Скопируйте и вставьте ниже код в файл .htaccess, он работает хорошо для меня)
(Upvote this answer if works for you)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
ExpiresByType image/svg "access 1 month"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/javascript "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/xhtml+xml "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 month"
ExpiresDefault "access 1 month"
</IfModule>
<ifModule mod_headers.c>
<filesMatch ".(css|jpg|jpeg|png|gif|swf|svg|js|ico)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch ".(x?html?|php)$">
Header set Cache-Control "private, must-revalidate"
</filesMatch>
</ifModule>
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/rdf+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-woff
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/truetype
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
</IfModule>
Я думаю, вам нужно включить сжатие для определенных файлов, таких как css
, js
и xml
.
Следующий код, добавленный в ваш файл root.htaccess вашего домена, включит эту функцию на вашем сервере:
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|xml|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
Если вы хотите добавить к этому правилу больше типа файла, просто добавьте его расширение в инструкцию! <FilesMatch "\.(js|css|xml|gz|newone)$">
У меня также были проблемы с этим неработающим
У меня была другая директива заголовка для моих php файлов
У меня был набор Cache-control Header, и он перезаписывает заголовок Append Vary, поэтому вы должны поместить их в один и тот же блок.
То, что мне нужно было сделать, - установить Vary для всех других файлов в одном заявлении Filesmatch и Cache и Vary для php файлов в отдельном заявлении FileMatch следующим образом:
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|gz)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(php)$">
Header set Cache-Control "max-age=300"
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
Это не мой фактический оператор Cache-Control - просто упрощен для кода примера.