Paths and routing
Set up page addresses, app routes and a custom 404 page.
Addresses do not need .html: a visit to /about is answered by about.html or by about/index.html, whichever you have.
your files addresses
------------------------ ------------------------------------------
index.html /
about.html /about (/about/ redirects here)
blog/index.html /blog/ (/blog redirects here)
blog/first-post.html /blog/first-post
assets/app.css /assets/app.css
404.html anything missing, with a 404
200.html anything missing, with a 200Single-page apps
If your app handles its own routes, name its entry file 200.html. Any page address that does not match a file is answered with that file and a 200 status, so reloading /settings/billing starts your app instead of showing a 404.
Your own 404
Add a 404.html and it is shown for any missing address, with a real 404 status. If a site has both 404.html and 200.html, the 200.html is used, since an app has to see the address before it can decide the address is missing.
These fallbacks apply only to page addresses, meaning ones with no extension or ending in .html or .htm. A missing image or stylesheet gets a plain 404, never your 200.html.
Trailing slashes
For about.html, /about/ redirects to /about. For about/index.html, /about redirects to /about/. This keeps relative links and images resolving from the right place.