dispatch.yaml reference

The dispatch.yaml allows you to override the routing rules. You can use the dispatch.yaml to send incoming requests to a specific service (formerly known as modules) based on the path or hostname in the URL. For example, if you wanted to route requests to the http://simple-sample.appspot.com/mobile/ URL to a mobile front end, and serve all your static content from the default service.

The dispatch.yaml file should reside in the root directory or in the directory that defines the default service.


  # Default service serves the typical web resources and all static resources.
  - url: "*/favicon.ico"
    service: default

  # Default service serves simple hostname request.
  - url: "simple-sample.appspot.com/"
    service: default

  # Send all mobile traffic to the mobile frontend.
  - url: "*/mobile/*"
    service: mobile-frontend

  # Send all work to the one static backend.
  - url: "*/work/*"
    service: static-backend


The root element in the dispatch.yaml file is <dispatch-entries> and each entry is a <dispatch> element that contain the following elements. .
Element Description

Specifies the name of the service that will handle the requests that match the url pattern. Note that services were previously called modules.


A URL pattern that can include the hostname and URL path. Glob characters can be used to match patterns. The Glob characters can be specified only at the beginning of the pattern and end of the pattern.

Note that dispatch rules also apply to URLs that are used in cron configuration or in task queue configuration.

URLs paths that begin with /_ah/ are not routed by the dispatch file.


The dispatch file can contain up to 20 routing rules. When specifying the URL string, neither the hostname nor the path can be longer than 100 characters.

Send feedback about...

App Engine standard environment for Python