Since eZ Publish 5.1, it is possible to serve multiple, completely different sites using one eZ Publish instance and database.

Each site will have its own content root, at a lower level than the default one (location number 2). One backoffice can be used for each site, but it is also possible to use a global one.

This feature is a reimplementation of the PathPrefix one that existed in eZ Publish Legacy.


The feature is configured in ezpublish.yml, either at siteaccess or siteaccess group level:

                    # Root locationId. Default is top locationId
					location_id: 123
                    # Every URL aliases starting with those prefixes will be considered 
                    # being outside of the subtree starting at root_location.
                    # Default value is an empty array.
                    # Prefixes are not case sensitive.
					excluded_uri_prefixes: [ /media, /images ]


This parameter sets the location id of the content root. The API is jailed within this root, and nothing above this level will be accessible by default. This parameter can be filtered using the excluded_uri_prefixes parameter described below


Use this parameter to exclude a list of URI from the root jail defined using location_id described above. Add as many locations pathString as you like. In the example above, the Media and Images folders will be accessible using their own URI even though they're not below tree_root.location_id.

Note: Leading slashes (/) are automatically trimmed internally by eZ Publish, so they can be ignored.