Use Cases



Resource Resolution Order

The order in which specific types of behavior or views load, from 301 redirects to 404s.

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:

  1. Proxy (if configured). If url doesn't exist, it skips. ?toJSON urls ignore proxy
  2. Media Proxy (if configured) for /-/media/ urls
  3. Static files generated by Zesty.io: site.css and site.js
  4. Instant JSON API e.g. /-/instant/7-zyx-zyxzyc.json
  5. GQL API e.g. /-/gql/*
  6. Static files generated by Zesty.io: sitemap.xml, feed.xml, robots.txt
  7. Legacy JSON endpoints e.g. /-/custom/
  8. Well Known Files e.g. /.well-known/*
  9. Custom endpoints e.g. /custom/endpoints.json
  10. Legacy HTML endpoints e.g. /ajax/
  11. Content Models Views if a content item's meta path matches the request page e.g. /about/team/
  12. Wild Card Views e.g. /store/*/cool-shirt/
  13. 301 redirects
  14. 404 Pages e.g. when no resources match the url pattern

Base Directory Setting


Zesty.io will default all automated assets files to the root / directory unless the base directory setting has been added and set.

There is a setting on the instance with category:general key:base_directory with a directory set as its value e.g. /blog/

Base Directory and Zesty.io Auto-created Files

Once the Base Directory settings has a value the Zesty.io auto-created files listed below will be immediately affected.

Using the Base Directory setting with non-automated files

Other files created in the code editor such as custom endpoints must be manually named to follow the path of your choice. If you want content items to follow the same path as the Base Directory setting value, then a content model must exist with that path. For example, if you're using Zesty.io WebEngine only for your website's /blog/ subdirectory then you need to setup a content item as a placeholder with /blog/ as its URL and create the Base Directory setting (as shown below) with the value /blog/.

Adding the Base Directory Setting

The Base Directory setting can be added via API with the following JSON body:

If you know what value you want the base directory set to go ahead and add it to the JSON body under value.

Reserved Paths

Some path parts are reserved for security reasons. Any content item url path that includes these words will 404.

  • vendor
  • composer
  • package
  • package-lock
  • gulpfile

Start Here

We will listen to your needs and walk you through how Zesty can help your team.

Connect with Content Experts

Book a free 15-minute consultation with a content expert. Discuss your application, pain points and requirements. Understand how Zesty's lower total cost of ownership, features, functionality can elevate your business by creating extraordinary digital experiences.

Trusted By

zesty customer logo Sonyzesty customer logo Rocket Leaguezesty customer logo Singlifezesty customer logo Acornszesty customer logo Phoenix Sunszesty customer logo Wattpadzesty customer logo Corner Shopzesty customer logo Bjs


zesty customer logo zesty customer logo zesty customer logo zesty customer logo

Enter your details to connect with a Content Expert

First Name

Last Name


Phone (optional)


Please tell us about your project (optional)