# SPA deep-link fallback: any path that isn't a static asset or a Pages
# Function route falls through to index.html so client-side routing
# (react-router's BrowserRouter) can take over.
#
# Functions take precedence over this file (Cloudflare checks file-based
# Function routes before falling through to static-asset/_redirects
# resolution), so e.g. /photos/123 still hits functions/photos/[id].js
# first for a recognized crawler — this rule only applies to whatever's
# left after that: paths with no matching Function (or a non-crawler
# request, which a Function passes through) and no matching static file.
#
# Cloudflare Pages' _redirects cannot proxy to an external absolute origin
# (only relative same-site paths), so there's no sitemap-related rule here
# — those are handled by functions/sitemap*.js instead. /robots.txt is a
# Function too (functions/robots.txt.js), so there's deliberately no static
# robots.txt in web/public competing with it.
/*  /index.html  200
