Last active
December 26, 2015 08:39
-
-
Save joshuaadrian/7123680 to your computer and use it in GitHub Desktop.
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
<IfModule mod_setenvif.c> | |
<IfModule mod_headers.c> | |
BrowserMatch MSIE ie | |
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie | |
</IfModule> | |
</IfModule> | |
<FilesMatch "\.(ttf|otf|eot|woff|font.css)$"> | |
<IfModule mod_headers.c> | |
Header set Access-Control-Allow-Origin "*" | |
</IfModule> | |
</FilesMatch> | |
# add deflate 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 | |
# video | |
AddType video/ogg ogg ogv | |
AddType video/mp4 mp4 | |
AddType video/webm webm | |
# Proper svg serving. Required for svg webfonts on iPad | |
AddType image/svg+xml svg svgz | |
# webfonts | |
AddType application/vnd.ms-fontobject eot | |
AddType font/ttf ttf | |
AddType font/otf otf | |
AddType font/x-woff woff | |
AddType text/cache-manifest manifest | |
# gzip compression. | |
<IfModule mod_deflate.c> | |
# html, xml, css, and js: | |
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json | |
# webfonts and svg: | |
<FilesMatch "\.(ttf|otf|eot|svg)$" > | |
SetOutputFilter DEFLATE | |
</FilesMatch> | |
</IfModule> | |
<IfModule mod_expires.c> | |
Header set cache-control: public | |
ExpiresActive on | |
# Perhaps better to whitelist expires rules? Perhaps. | |
ExpiresDefault "access plus 1 month" | |
# cache.manifest needs re-reqeusts in FF 3.6 (thx Remy ~Introducing HTML5) | |
ExpiresByType text/cache-manifest "access plus 0 seconds" | |
# your document html | |
ExpiresByType text/html "access" | |
# rss feed | |
ExpiresByType application/rss+xml "access plus 1 hour" | |
# favicon (cannot be renamed) | |
ExpiresByType image/vnd.microsoft.icon "access plus 1 week" | |
# media: images, video, audio | |
ExpiresByType image/png "access plus 1 month" | |
ExpiresByType image/jpg "access plus 1 month" | |
ExpiresByType image/jpeg "access plus 1 month" | |
ExpiresByType video/ogg "access plus 1 month" | |
ExpiresByType audio/ogg "access plus 1 month" | |
ExpiresByType video/mp4 "access plus 1 month" | |
# webfonts | |
ExpiresByType font/ttf "access plus 1 month" | |
ExpiresByType font/woff "access plus 1 month" | |
ExpiresByType image/svg+xml "access plus 1 month" | |
# css and javascript | |
ExpiresByType text/css "access plus 1 month" | |
ExpiresByType application/javascript "access plus 1 month" | |
ExpiresByType text/javascript "access plus 1 month" | |
</IfModule> | |
# Since we're sending far-future expires, we don't need ETags for | |
# static content. | |
FileETag None | |
# you probably want www.example.com to forward to example.com -- shorter URLs are sexier. | |
# no-www.org/faq.php?q=class_b | |
RewriteEngine On | |
Options +FollowSymLinks | |
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] | |
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] | |
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) | |
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] | |
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] | |
RewriteRule ^(.*)$ index.php [F,L] | |
# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the same name does not exist (e.g. “/blog/hello”) | |
Options -MultiViews | |
# -Indexes will have Apache block users from browsing folders without a default document | |
Options -Indexes | |
# use utf-8 encoding for anything served text/plain or text/html | |
AddDefaultCharset utf-8 | |
# force utf-8 for a number of file formats | |
AddCharset utf-8 .html .css .js .xml .json .rss | |
# 404 REDIRECTS | |
RedirectMatch 404 ^/README.* | |
RedirectMatch 404 ^/readme.* | |
RedirectMatch 404 ^/license.* | |
RedirectMatch 404 ^/\.git.* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment