When a request is served by WebEngine, it reads the url path and attempts to match the url path to a content item resources. URL are checked against resource in a specific order, and will resolve the resource first if a match is found. If two resources share a URL path, then the one that loads first will resolve and the other is ignored.
Resource load order:
Static files generated by Zesty.io: site.css and site.js
Instant JSON API e.g. /-/instant/7-zyx-zyxzyc.json
GQL API e.g. /-/gql/*
Static files generated by Zesty.io: sitemap.xml, feed.xml, robots.txt
Legacy JSON endpoints e.g. /-/custom/
Well Known Files e.g. /.well-known/*
Custom endpoints e.g. /custom/endpoints.json
Legacy HTML endpoints e.g. /ajax/
Content Models Views if a content item's meta path matches the request page e.g. /about/team/
Wild Card Views e.g. /store/*/cool-shirt/
301 redirects
404 Pages e.g. when no resources match the url pattern
Zesty.io will default all automated assets to the root /
directory unless there is a setting on the instance with category:general
key:base_directory
with a directory set as its value e.g. /blog/
Automated files this rule applies to:
site.js
site.css
sitemap.xml
robots.txt
feed.xml
​Instant JSON API​
​GQL API​
Other files created in the code editor must be manually named to follow the path of your choice. Content items must also be parent to a content item with the base name of your choice. For example if you are using Zesty.io WebEngine for only the /blog/
path of your website you need to setup a content item as a holder with the path /blog/
as its URL, and also create a setting with category:general
key:base_directory
with the value /blog/