Skip to content

Instantly share code, notes, and snippets.

@zachbrowne
Created November 22, 2012 18:45
Show Gist options
  • Save zachbrowne/4132520 to your computer and use it in GitHub Desktop.
Save zachbrowne/4132520 to your computer and use it in GitHub Desktop.
Static app.yaml File for Hosting Static Websites on Google App Engine
application: zb-cdn
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /(.*\.(appcache|manifest))
mime_type: text/cache-manifest
static_files: files/\1
upload: files/(.*\.(appcache|manifest))
expiration: "0m"
- url: /(.*\.atom)
mime_type: application/atom+xml
static_files: files/\1
upload: files/(.*\.atom)
expiration: "1h"
- url: /(.*\.crx)
mime_type: application/x-chrome-extension
static_files: files/\1
upload: files/(.*\.crx)
- url: /(.*\.css)
mime_type: text/css
static_files: stylesheets/\1
upload: stylesheets/(.*\.css)
- url: /(.*\.eot)
mime_type: application/vnd.ms-fontobject
static_files: fonts/\1
upload: fonts/(.*\.eot)
- url: /(.*\.htc)
mime_type: text/x-component
static_files: files/\1
upload: files/(.*\.htc)
- url: /(.*\.html)
mime_type: text/html
static_files: files/\1
upload: files/(.*\.html)
expiration: "1h"
- url: /(.*\.ico)
mime_type: image/x-icon
static_files: images/\1
upload: images/(.*\.ico)
expiration: "7d"
- url: /(.*\.js)
mime_type: text/javascript
static_files: javascript/\1
upload: javascript/(.*\.js)
- url: /(.*\.json)
mime_type: application/json
static_files: files/\1
upload: files/(.*\.json)
expiration: "1h"
- url: /(.*\.m4v)
mime_type: video/m4v
static_files: videos/\1
upload: videos/(.*\.m4v)
- url: /(.*\.mp4)
mime_type: video/mp4
static_files: videos/\1
upload: videos/(.*\.mp4)
- url: /(.*\.(ogg|oga))
mime_type: audio/ogg
static_files: audio/\1
upload: audio/(.*\.(ogg|oga))
- url: /(.*\.ogv)
mime_type: video/ogg
static_files: videos/\1
upload: videos/(.*\.ogv)
- url: /(.*\.otf)
mime_type: font/opentype
static_files: fonts/\1
upload: fonts/(.*\.otf)
- url: /(.*\.rss)
mime_type: application/rss+xml
static_files: files/\1
upload: files/(.*\.rss)
expiration: "1h"
- url: /(.*\.safariextz)
mime_type: application/octet-stream
static_files: files/\1
upload: files/(.*\.safariextz)
- url: /(.*\.(svg|svgz))
mime_type: images/svg+xml
static_files: images/\1
upload: images/(.*\.(svg|svgz))
- url: /(.*\.swf)
mime_type: application/x-shockwave-flash
static_files: flash/\1
upload: flash/(.*\.swf)
- url: /(.*\.ttf)
mime_type: font/truetype
static_files: fonts/\1
upload: fonts/(.*\.ttf)
- url: /(.*\.txt)
mime_type: text/plain
static_files: files/\1
upload: files/(.*\.txt)
- url: /(.*\.unity3d)
mime_type: application/vnd.unity
static_files: files/\1
upload: files/(.*\.unity3d)
- url: /(.*\.webm)
mime_type: video/webm
static_files: videos/\1
upload: videos/(.*\.webm)
- url: /(.*\.webp)
mime_type: image/webp
static_files: images/\1
upload: images/(.*\.webp)
- url: /(.*\.woff)
mime_type: application/x-font-woff
static_files: fonts/\1
upload: fonts/(.*\.woff)
- url: /(.*\.xml)
mime_type: application/xml
static_files: files/\1
upload: files/(.*\.xml)
expiration: "1h"
- url: /(.*\.xpi)
mime_type: application/x-xpinstall
static_files: files/\1
upload: files/(.*\.xpi)
# image files
- url: /(.*\.(bmp|gif|ico|jpeg|jpg|png))
static_files: images/\1
upload: images/(.*\.(bmp|gif|ico|jpeg|jpg|png))
# audio files
- url: /(.*\.(mid|midi|mp3|wav))
static_files: audio/\1
upload: audio/(.*\.(mid|midi|mp3|wav))
# windows files
- url: /(.*\.(doc|exe|ppt|rtf|xls))
static_files: files/\1
upload: files/(.*\.(doc|exe|ppt|rtf|xls))
# compressed files
- url: /(.*\.(bz2|gz|rar|tar|tgz|zip))
static_files: files/\1
upload: files/(.*\.(bz2|gz|rar|tar|tgz|zip))
# index files
- url: /(.+)/
static_files: files/\1/index.html
upload: files/(.+)/index.html
expiration: "15m"
- url: /(.+)
static_files: files/\1/index.html
upload: files/(.+)/index.html
expiration: "15m"
# site root
- url: /
static_files: files/index.html
upload: files/index.html
expiration: "15m"
audio
files
files/index.html
flash
fonts
images
javascript
stylesheets
videos
app.yaml
index.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment