Browse files

gitignore and htaccess

  • Loading branch information...
1 parent aeae593 commit 4ed5e76313151d4d321aed1b91191c78d6d7d0dc @paulirish committed Oct 23, 2010
Showing with 219 additions and 0 deletions.
  1. +4 −0 .gitignore
  2. +215 −0 .htaccess
View
4 .gitignore
@@ -0,0 +1,4 @@
+.svn/
+publish/
+build/buildinfo.properties
+.DS_Store
View
215 .htaccess
@@ -0,0 +1,215 @@
+# Apache configuration file
+# httpd.apache.org/docs/2.2/mod/quickreference.html
+
+# Techniques in here adapted from all over, including:
+# Kroc Camen: camendesign.com/.htaccess
+# perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/
+
+
+# Force the latest IE version, in various cases when it may fall back to IE7 mode
+# github.com/rails/rails/commit/123eb25#commitcomment-118920
+# Use ChromeFrame if it's installed for a better experience for the poor IE folk
+<IfModule mod_setenvif.c>
+ <IfModule mod_headers.c>
+ BrowserMatch MSIE ie
+ Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
+ </IfModule>
+</IfModule>
+
+<IfModule mod_headers.c>
+# Because X-UA-Compatible isn't sent to non-IE (to save header bytes),
+# We need to inform proxies that content changes based on UA
+ Header append Vary User-Agent
+# Cache control is set only if mod_headers is enabled, so that's unncessary to declare
+</IfModule>
+
+# hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/
+# Disabled. Uncomment to serve cross-domain ajax requests
+#<IfModule mod_headers.c>
+# Header set Access-Control-Allow-Origin "*"
+#</IfModule>
+
+
+
+
+# allow access from all domains for webfonts
+# alternatively you could only whitelist
+# your subdomains like "sub.domain.com"
+
+<FilesMatch "\.(ttf|otf|eot|woff|font.css)$">
+ <IfModule mod_headers.c>
+ Header set Access-Control-Allow-Origin "*"
+ </IfModule>
+</FilesMatch>
+
+
+# video
+AddType video/ogg ogg ogv
+AddType video/mp4 mp4
+AddType video/webm webm
+
+# Proper svg serving. Required for svg webfonts on iPad
+# twitter.com/FontSquirrel/status/14855840545
+AddType image/svg+xml svg svgz
+AddEncoding gzip svgz
+
+# webfonts
+AddType application/vnd.ms-fontobject eot
+AddType font/truetype ttf
+AddType font/opentype otf
+AddType font/woff woff
+
+AddType text/cache-manifest manifest
+AddType text/x-component htc
+AddType application/x-chrome-extension crx
+
+
+# allow concatenation from within specific js and css files
+
+# e.g. Inside of script.combined.js you could have
+# <!--#include file="jquery-1.4.2.js" -->
+# <!--#include file="jquery.idletimer.js" -->
+# and they would be included into this single file
+
+# this is not in use in the boilerplate as it stands. you may
+# choose to name your files in this way for this advantage
+# or concatenate and minify them manually.
+# Disabled by default.
+
+# <FilesMatch "\.combined\.(js|css)$">
+# Options +Includes
+# SetOutputFilter INCLUDES
+# </FilesMatch>
+
+
+
+
+
+# gzip compression.
+<IfModule mod_deflate.c>
+
+# html, txt, css, js, json, xml, htc:
+ AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
+ AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript
+ AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
+
+# webfonts and svg:
+ <FilesMatch "\.(ttf|otf|eot|svg)$" >
+ SetOutputFilter DEFLATE
+ </FilesMatch>
+</IfModule>
+
+
+
+# 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
+# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
+
+# 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>
+ Header set Cache-Control "public"
+ ExpiresActive on
+
+# Perhaps better to whitelist expires rules? Perhaps.
+ ExpiresDefault "access plus 1 month"
+
+# cache.manifest 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/vnd.microsoft.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 font/woff "access plus 1 month"
+ ExpiresByType image/svg+xml "access plus 1 month"
+ ExpiresByType application/vnd.ms-fontobject "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.
+# developer.yahoo.com/performance/rules.html#etags
+FileETag None
+
+
+
+
+# Allow cookies to be set from iframes (for IE only)
+# If needed, uncomment and specify a path or regex in the Location directive
+
+# <IfModule mod_headers.c>
+# <Location />
+# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
+# </Location>
+# </IfModule>
+
+
+# you probably want www.example.com to forward to example.com -- shorter URLs are sexier.
+# no-www.org/faq.php?q=class_b
+<IfModule mod_rewrite.c>
+ RewriteEngine On
+ RewriteCond %{HTTPS} !=on
+ RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
+ RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
+</IfModule>
+
+# without -MultiViews, Apache will give a 404 for a rewrite if a folder of the same name does not exist
+# e.g. /blog/hello : webmasterworld.com/apache/3808792.htm
+Options -MultiViews
+# -Indexes will have Apache block users from browsing folders without a default document
+# Options -Indexes
+
+
+
+# custom 404 page
+ErrorDocument 404 /404.html
+
+
+
+# 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
+
+
+
+# We don't need to tell everyone we're apache.
+ServerSignature Off
+
+
+

0 comments on commit 4ed5e76

Please sign in to comment.