Last active
January 5, 2019 15:56
-
-
Save invalidoz/57e83574e88a6f2bbb86f912a07fc81f to your computer and use it in GitHub Desktop.
htaccess file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
AddDefaultCharset UTF-8 | |
DefaultLanguage sv-SE | |
######################### | |
# redirect www to no-www | |
######################### | |
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC] | |
RewriteRule ^(.*) https://%1/$1 [R=301,NE,L] | |
############################### | |
# rewrite /index.html to root / | |
############################### | |
RewriteRule ^index\.html$ / [R=301,L] | |
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L] | |
############################ | |
#Rewrite everything to https | |
############################ | |
RewriteEngine On | |
RewriteCond %{HTTPS} !=on | |
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] | |
####################### | |
# HSTS | |
####################### | |
Header always add Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS | |
################### | |
### HEADER CACHING | |
################### | |
# https://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching/ | |
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico)$"> | |
Header set Cache-Control "max-age=2592000" | |
</FilesMatch> | |
<FilesMatch "\.(js|css|pdf|swf)$"> | |
Header set Cache-Control "max-age=604800" | |
</FilesMatch> | |
<FilesMatch "\.(html|htm|txt)$"> | |
Header set Cache-Control "max-age=600, public" | |
</FilesMatch> | |
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> | |
Header unset Cache-Control | |
</FilesMatch> | |
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> | |
ExpiresActive Off | |
</FilesMatch> | |
## META HTTP-EQUIV REPLACEMENTS | |
<FilesMatch "\.(html|htm|php)$"> | |
Header set imagetoolbar "no" | |
</FilesMatch> | |
<IfModule mod_deflate.c> | |
# Compress HTML, CSS, JavaScript, Text, XML and fonts | |
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 | |
AddOutputFilterByType DEFLATE text/xml | |
# Remove browser bugs (only needed for really old browsers) | |
BrowserMatch ^Mozilla/4 gzip-only-text/html | |
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html | |
Header append Vary User-Agent | |
</IfModule> | |
# Or, compress certain file types by extension: | |
<files *.html> | |
SetOutputFilter DEFLATE | |
</files> | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
# Images | |
ExpiresByType image/jpeg "access plus 1 year" | |
ExpiresByType image/gif "access plus 1 year" | |
ExpiresByType image/png "access plus 1 year" | |
ExpiresByType image/webp "access plus 1 year" | |
ExpiresByType image/svg+xml "access plus 1 year" | |
ExpiresByType image/x-icon "access plus 1 year" | |
# Video | |
ExpiresByType video/mp4 "access plus 1 year" | |
ExpiresByType video/mpeg "access plus 1 year" | |
# CSS, JavaScript | |
ExpiresByType text/css "access plus 1 month" | |
ExpiresByType text/javascript "access plus 1 month" | |
ExpiresByType application/javascript "access plus 1 month" | |
# Others | |
ExpiresByType application/pdf "access plus 1 month" | |
ExpiresByType application/x-shockwave-flash "access plus 1 month" | |
</IfModule> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment