Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

lith Caddy: add {path}index.html to papers try_files

Lets directory-style URLs like /jeffrey/ resolve to /jeffrey/index.html
instead of falling through to the SPA root. Without this, the @missing
matcher fires (because /jeffrey/ isn't itself a file and /jeffrey/.html
doesn't exist), the SPA fallback rewrites to /index.html, and the user
sees the papers root page instead of the dashboard.

Discovered by the jeffrey-platter dashboard deploy — direct
/jeffrey/index.html worked, /jeffrey/ did not.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+10 -7
+10 -7
lith/Caddyfile
··· 55 55 } 56 56 root * /opt/ac/system/public/papers.aesthetic.computer 57 57 58 - # SPA fallback for unknown paths: if neither {path} nor {path}.html 59 - # exists on disk, serve /index.html — but mark it no-cache. Without 60 - # this, a request for a not-yet-deployed PDF gets the SPA HTML, and 61 - # Cloudflare pins that HTML to the PDF URL for 4h via its default 62 - # static-asset cache. (See: 2026-04-26 latency-paper deploy gap.) 58 + # SPA fallback for unknown paths: if neither {path}, {path}.html, nor 59 + # {path}index.html exists on disk, serve /index.html — but mark it 60 + # no-cache. Without this, a request for a not-yet-deployed PDF gets 61 + # the SPA HTML, and Cloudflare pins that HTML to the PDF URL for 4h 62 + # via its default static-asset cache. (See: 2026-04-26 latency-paper 63 + # deploy gap.) The {path}index.html term lets directory-style URLs 64 + # like /jeffrey/ resolve to /jeffrey/index.html instead of falling 65 + # through to the SPA root. (See: 2026-04-29 jeffrey-platter deploy.) 63 66 @missing not file { 64 - try_files {path} {path}.html 67 + try_files {path} {path}.html {path}index.html 65 68 } 66 69 handle @missing { 67 70 header Cache-Control "no-cache, must-revalidate, max-age=0" ··· 69 72 file_server 70 73 } 71 74 72 - try_files {path} {path}.html 75 + try_files {path} {path}.html {path}index.html 73 76 file_server 74 77 } 75 78