Serving a subdirectory
Like with any other Worker, you can configure a Worker with assets to run on a path of your domain. Assets defined for a Worker must be nested in a directory structure that mirrors the desired path.
For example, to serve assets from example.com/blog/*, create a blog directory in your asset directory.
Directorydist
Directoryblog
- index.html
 Directoryposts
- post1.html
 - post2.html
 
With a Wrangler configuration file like so:
{  "name": "assets-on-a-path-example",  "main": "src/index.js",  "route": "example.com/blog/*",  "assets": {    "directory": "dist"  }}name = "assets-on-a-path-example"main = "src/index.js"route = "example.com/blog/*"
[assets]directory = "dist"In this example, requests to example.com/blog/ will serve the index.html file, and requests to example.com/blog/posts/post1 will serve the post1.html file.
If you have a file outside the configured path, it will not be served, unless it is part of the assets.not_found_handling for Single Page Applications or custom 404 pages. For example, if you have a home.html file in the root of your asset directory, it will not be served when requesting example.com/blog/home. However, if needed, these files can still be manually fetched over the binding.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- © 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark