Permalink
Switch branches/tags
Nothing to show
Find file
248 lines (201 sloc) 6.25 KB
runtime: python27
threadsafe: yes
api_version: 1
env_variables:
DJANGO_SETTINGS_MODULE: 'settings'
libraries:
- name: webapp2
version: "latest"
- name: django
version: "1.4" #"latest"
inbound_services:
- warmup
builtins:
- remote_api: on
default_expiration: "30d"
handlers:
- url: /google75906d613a2a09ba.html
static_files: static/google75906d613a2a09ba.html
upload: static/google75906d613a2a09ba.html
# Web App Field Guide
- url: /webappfieldguide/(.*\.(appcache|manifest))
static_files: webappfieldguide/static/\1
mime_type: text/cache-manifest
upload: webappfieldguide/static/(.*\.(appcache|manifest))
expiration: "0s"
- url: /webappfieldguide/css
static_dir: webappfieldguide/static/css
- url: /webappfieldguide/img
static_dir: webappfieldguide/static/img
- url: /webappfieldguide/js
static_dir: webappfieldguide/static/js
- url: /webappfieldguide/index.html
static_files: webappfieldguide/index/index.html
upload: webappfieldguide/index/index.html
- url: /webappfieldguide/(.*\.(html|txt|xml|png|ico))
static_files: webappfieldguide/static/\1
upload: webappfieldguide/static/(.*\.(html|txt|xml|png|ico))
- url: /webappfieldguide
static_files: webappfieldguide/index/index.html
upload: webappfieldguide/index/index.html
- url: /webappfieldguide/(.*)
static_files: webappfieldguide/index/index.html
upload: webappfieldguide/index/index.html
# Server appropriate mimetype for certain static content.
#
# Video Formats
#
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.webm)
mime_type: audio/webm
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.webm)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.webm)
mime_type: video/webm
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.webm)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.ogv)
mime_type: video/ogg
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.ogv)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.ogv)
mime_type: video/ogg
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.ogv)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.mp4)
mime_type: audio/mp4
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.mp4)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.mp4)
mime_type: video/mp4
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.mp4)
secure: always
redirect_http_response_code: 301
#
# Audio Formats
#
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.(ogg|oga))
mime_type: audio/ogg
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.(ogg|oga))
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.(ogg|oga))
mime_type: audio/ogg
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.(ogg|oga))
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.mp3)
mime_type: audio/mp3
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.mp3)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.wav)
mime_type: audio/wav
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.wav)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.wav)
mime_type: audio/wav
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.wav)
secure: always
redirect_http_response_code: 301
#
# Cache Manifests
#
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.(appcache|manifest))
expiration: "0s"
mime_type: text/cache-manifest
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.(appcache|manifest))
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.(appcache|manifest))
expiration: "0s"
mime_type: text/cache-manifest
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.(appcache|manifest))
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.crx)
static_files: content/tutorials/\1
mime_type: application/x-chrome-extension
upload: content/tutorials/(.*\.crx)
- url: /(.+\.(appcache|manifest))
expiration: "0s"
mime_type: text/cache-manifest
static_files: \1
upload: (.*\.(appcache|manifest))
secure: always
redirect_http_response_code: 301
#
# Everything else
#
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.vtt)
mime_type: text/vtt
static_files: content/\2/static/\3
upload: content/tutorials/(.*\.vtt)
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/casestudies)/(.+\.(gif|swf|mp3|css|js|png|jpeg|jpg|svg|svgz|ogm|fla|zip|pdf))
static_files: content/\2/static/\3
upload: content/tutorials/casestudies/(.*\.(gif|swf|mp3|css|js|png|jpeg|jpg|svg|svgz|ogm|fla|zip|pdf))
secure: always
redirect_http_response_code: 301
- url: /(\w{2,3})/(tutorials/[^/]+/[^/]+)/(.+\.(gif|swf|mp3|css|js|png|jpeg|jpg|svg|svgz|ogm|fla|zip|pdf|json))
static_files: content/\2/static/\3
upload: content/tutorials/[^/]+/[^/]+/(.+\.(gif|swf|mp3|css|js|png|jpeg|jpg|svg|svgz|ogm|fla|zip|pdf|json))
secure: always
redirect_http_response_code: 301
# Anything under /static will automatically be considered static.
- url: /static
static_dir: static
secure: always
redirect_http_response_code: 301
http_headers:
Access-Control-Allow-Origin: '*'
- url: /favicon.ico
static_files: static/favicon.ico
upload: static/favicon.ico
secure: always
redirect_http_response_code: 301
- url: /robots.txt
static_files: static/robots.txt
upload: static/robots.txt
- url: /database/.*
script: main.app
login: admin
- url: /admin/.*
script: google.appengine.ext.admin.application
login: admin
- url: /echoserver
script: echo.app
- url: .*
script: main.app
secure: always
redirect_http_response_code: 301
skip_files:
- ^(.*/)?app\.yaml
- ^(.*/)?app\.yml
- ^(.*/)?index\.yaml
- ^(.*/)?index\.yml
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(.*/)?.*\.scss$
- ^(.*/)?.*\.psd$