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 module serves the typical web resources and all static resources.
  - url: "*/favicon.ico"
    module: default

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

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

  # Send all work to the one static backend. 
  - url: "*/work/*"
    module: 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. Modules are now known as services in App Engine.


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.


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 PHP