zachleat/font-family-reunion/master/ - Htaccess File


<IfModule mod_rewrite.c>

RewriteEngine on
RewriteBase /

# Remove trailing slashes
RewriteRule ^([^/.]+)/$ /$1 [R,L]

RedirectMatch 301 /os/ios-6$ /os/ios-6-iphone$1
RedirectMatch 301 /os/ios-6-1$ /os/ios-6-1-iphone$1
RedirectMatch 301 /os/ios-7$ /os/ios-7-iphone$1
RedirectMatch 301 /os/ios-7-1$ /os/ios-7-1-iphone$1

# OS lists
RewriteCond %{REQUEST_URI} !.(js|ico|gif|jpg|png|css)$
RewriteRule ^os/([^.]+)(.html)?$ /index.php?os=$1 [L]

# Font Families
RewriteCond %{REQUEST_URI} !.(js|ico|gif|jpg|png|css)$
RewriteRule ^([^/.]+)$ index.php?families=$1 [L]


AddDefaultCharset utf-8

<IfModule mod_mime.c>

# Force UTF-8 for certain file formats.
AddCharset utf-8 .css .js .json

AddType text/html .html .html.gz
AddType text/css .css .css.gz

# JavaScript
# Normalize to standard type (it's sniffed in IE anyways):
AddType application/javascript .js .jsonp .js.gz
AddType application/json .json

# Web fonts
AddType application/font-woff .woff
AddType application/ .eot

# Browsers usually ignore the font MIME types and sniff the content,
# however, Chrome shows a warning if other MIME types are used for the
# following fonts.
AddType application/x-font-ttf .ttc .ttf
AddType font/opentype .otf

# HTML5 Boilerplate

# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------

# these are pretty far-future expires headers
# they assume you control versioning with cachebusting query params like
# <script src="application.js?20100608">
# additionally, consider that outdated proxies may miscache

# if you don't use filenames to version, lower the css and js to something like
# "access plus 1 week" or so

<IfModule mod_expires.c>
ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"

# cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"

# your document html
ExpiresByType text/html "access plus 0 seconds"

# data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"

# rss feed
ExpiresByType application/rss+xml "access plus 1 hour"

# favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"

# media: images, video, audio
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"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"

# webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"

# css and javascript
ExpiresByType text/css "access plus 2 months"
ExpiresByType application/javascript "access plus 2 months"
ExpiresByType text/javascript "access plus 2 months"

<IfModule mod_headers.c>
Header append Cache-Control "public"


# ----------------------------------------------------------------------
# ETag removal
# ----------------------------------------------------------------------

# Since we're sending far-future expires, we don't need ETags for
# static content.
FileETag None

On Github License


Download PDF of Htaccess file