.htaccess поможет настроить значения gZip и Expires - PullRequest
0 голосов
/ 16 февраля 2012

В YSlow сообщается: Оценка F на Компресс Компоненты с gzip

Существует 12 простых текстовых компонентов, которые следует отправлять в сжатом виде

http://www.mysite.com/css/c/style
http://www.mysite.com/css/c/dd.css
http://www.mysite.com/css/c/jqueryslidemenu.css
http://www.mysite.com/assets/js/browser-detection.css
http://www.mysite.com/assets/js/jquery-1.6.min.js
http://www.mysite.com/assets/js/jquery.dd.js
http://www.mysite.com/images/jquery.pngFix.pack.js
http://www.mysite.com/assets/js/jqueryslidemenu.js
http://www.mysite.com/assets/js/browser-detection.js
http://www.mysite.com/assets/js/cufon-yui.js
http://www.mysite.com/assets/js/Futura_Bk_BT_400.font.js
http://www.mysite.com/store/ajax/getpubs.php

Существует 32 статических компонента без даты истечения срока давности.

(2012/2/17) http://www.mysite.com/css/c/style
(2012/2/17) http://www.mysite.com/css/c/dd.css
(2012/2/17) http://www.mysite.com/css/c/jqueryslidemenu.css
(no expires) http://www.mysite.com/assets/js/browser-detection.css
(2012/2/15) http://www.google-analytics.com/ga.js
(no expires) http://www.mysite.com/assets/js/jquery-1.6.min.js
(1997/7/26) http://www.mysite.com/j/banner_slides
(1997/7/26) http://www.mysite.com/j/multi-click-slider
(no expires) http://www.mysite.com/assets/js/jquery.dd.js
(no expires) http://www.mysite.com/images/jquery.pngFix.pack.js
(no expires) http://www.mysite.com/assets/js/jqueryslidemenu.js
(no expires) http://www.mysite.com/assets/js/browser-detection.js
(no expires) http://www.mysite.com/assets/js/cufon-yui.js
(no expires) http://www.mysite.com/assets/js/Futura_Bk_BT_400.font.js
(no expires) http://www.mysite.com/assets/js/fonts.js
(1997/7/26) http://www.mysite.com/j/jquerycourseslide.js
(no expires) http://www.mysite.com/images/menu_bg.png
(no expires) http://www.mysite.com/images/menuArrowYellow.png
(no expires) http://www.mysite.com/images/menuArrowGrey.png
(no expires) http://www.mysite.com/images/bgHomeBanner.png
(no expires) http://www.mysite.com/images/btnHomeBannerLeft.png
(no expires) http://www.mysite.com/images/btnHomeBannerRight.png
(no expires) http://www.mysite.com/images/btnLeft.png
(no expires) http://www.mysite.com/images/btnRight.png
(no expires) http://www.mysite.com/images/select-base.png
(no expires) http://www.mysite.com/images/select-cap.png
(no expires) http://www.mysite.com/images/iconComments.png
(no expires) http://www.mysite.com/images/bgRSS.png
(no expires) http://www.mysite.com/images/bgFooter.png
(no expires) http://www.mysite.com/files/Subscriptionad4.jpg
(no expires) http://www.mysite.com/images/favicon.ico
(2000/4/19) http://www.google-analytics.com/__utm.gif?...

Я добавил это в свой .htaccess:

<IfModule mod_headers.c>
  Header unset ETag
  Header unset Last-Modified
</IfModule>
FileETag None

<IfModule mod_deflate.c>
  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
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
  Header append Vary User-Agent env=!dont-vary
</IfModule>

<Files *.php>
  SetOutputFilter DEFLATE
</Files>

<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_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
</IfModule>

Какие корректировки необходимо внести, чтобы избежать вышеприведенных отчетов?

Примечание. Это ссылки, обслуживаемые ExpresssionEngine в качестве шаблонов без расширения:

http://www.mysite.com/css/c/style
http://www.mysite.com/j/banner_slides
http://www.mysite.com/j/multi-click-slider

Выход ExpressionEngine gZip установлен на Да.

1 Ответ

0 голосов
/ 17 февраля 2012

Убедитесь, что вы тщательно обновляете страницу (Ctrl + F5).Я заметил, что YSlow использует информацию из кэшированного заголовка, и поэтому не показывает правильную информацию.

Также убедитесь, что у вас включен соответствующий модуль apache.Проверьте это, удалив теги ifmodule (кроме тега mod_gzip, раздел которого вы можете полностью удалить).

Я думаю, что YSlow требует, чтобы значение Expires было как минимум 7 дней в будущем, так минимум 604800 секунд.

Также удалите строку: Header unset Last-Modified, если вы не знаете, что он делаети имеют для этого особое предназначение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...