Skip to content

Instantly share code, notes, and snippets.

@7iomka
Last active May 14, 2019 21:08
Show Gist options
  • Save 7iomka/bb9572b9a9497f07032018da4c9da721 to your computer and use it in GitHub Desktop.
Save 7iomka/bb9572b9a9497f07032018da4c9da721 to your computer and use it in GitHub Desktop.
.Htaccess Optimize SiteSpeed
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
# кеширование в браузере на стороне пользователя
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
# Cache-Control
<ifModule mod_headers.c>
# 30 дней
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 30 дней
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
# 2 дня
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 1 день
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>
#Запрет отдачи HTTP-заголовков Vary браузерам семейства MSIE
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
# Enable Compression
##<IfModule mod_deflate.c>
# AddOutputFilterByType DEFLATE application/javascript
# 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-javascript
# AddOutputFilterByType DEFLATE application/xhtml+xml
# AddOutputFilterByType DEFLATE application/xml
# AddOutputFilterByType DEFLATE font/opentype
# AddOutputFilterByType DEFLATE font/otf
# 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
##</IfModule>
# Enable Compression Apache 2
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
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-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
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
</IfModule>
#Включение gzip
#AddEncoding gzip .gz
#<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>
#<FilesMatch "\.css.gz$">
# ForceType text/css
# Header set Content-Encoding: gzip
#</FilesMatch>
#<FilesMatch "\.css$">
# RewriteEngine On
# RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
# RewriteCond %{HTTP:Accept-Encoding} gzip
# RewriteCond %{REQUEST_FILENAME}.gz -f
# RewriteRule (.*)\.css$ $1\.css.gz [L]
# ForceType text/css
#</FilesMatch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment