Ability to prerender to `about.html` instead of `about/index.html` like Sapper
See original GitHub issueDescribe the bug
When setting tralilingSlash: 'ignore' then the static adapter generates wrong files, e.g.
blog/hello-world.html.svelteis generated asblog/hello-world.html/index.htmlabout.svelteis generated asabout/index.html
To Reproduce
Here is a repo with issue reproduction, generated files are also pushed to the main branch in dist directory: https://github.com/bdadam/svelte-kit-static-issue
The repo was freshly created with npm init svelte@next ..
Expected behavior
blog/hello-world.html.svelte=>blog/hello-world.html.htmlabout.svelteis generated asabout.html
Information about your SvelteKit Installation:
- The repo was freshly created with
npm init svelte@next . yarn add -D @sveltejs/adapter-node@nextto install the static adapter
Severity
For me this is a blocker in adopting Svelte Kit for one side project. I have a website which has 6+ years old URLs with .html extensions, e.g. https://example.com/blog/hello-world.html. I don’t want to touch these URLs due to all the SEO rank and backlinks they received throughout the years. In all honesty this is a toy project - but I guess I’m not alone with this requirement.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:10 (7 by maintainers)

Top Related StackOverflow Question
A recent-ish new feature in Sapper was to have
foo.html.svelterender tofoo.htmlwhen exporting a static site (rather thanfoo.html/index.html), but apparently that didn’t make its way into SvelteKit. I think that would be a reasonable enhancement.In any case,
about.svelteshould never generateabout.html, as they correspond to different routes (/aboutvs/about.html).I’ve rebased PR 2632, any feedback that prevents merging this PR would be appreciated.