acme.com/blog to Notra from an Astro site. Read the steps on every platform first, and replace acme.notra.site with the Notra address on your site’s Domains page. The Fernhill example is a complete Astro site set up this way.
Static Astro sites
A fully static Astro site has no server to forward requests, so the rewrite goes into your host’s config. Follow the guide for Vercel, Netlify or Cloudflare, and delete anysrc/pages/blog and src/pages/changelog pages.
With an adapter
With an adapter like@astrojs/node, a catch-all route forwards both sections from your own server. Add the proxy once:
src/lib/notra-proxy.ts
src/pages/blog/[...path].ts and src/pages/changelog/[...path].ts:
src/pages/blog/[...path].ts
[...path] also matches /blog itself, and the rest of your site stays static.
Limits to keep in mind
- Trailing slashes.
trailingSlash: "always"redirects/blogto/blog/, which fails the domain check, so keep the default"ignore". - Origin check. Site analytics posts time on page to
/blog/_notra/e, andsecurity.checkOrigincan reject it behind a proxy that rewrites the host. Turn it off if the proxy routes are your only on-demand routes, or check that the endpoint answers. - Your own middleware.
src/middleware.tsruns for the section paths too, so make sure it doesn’t redirect them or ask for a login.