From cdf18c951963f7acfed69dee371b28fff3298620 Mon Sep 17 00:00:00 2001 From: Tee Ming Date: Sun, 29 Jan 2023 02:15:32 +0800 Subject: [PATCH 1/2] add prerender redirect for non trailing slash routes --- .changeset/purple-starfishes-sip.md | 5 +++++ packages/adapter-vercel/index.js | 22 +++++++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 .changeset/purple-starfishes-sip.md diff --git a/.changeset/purple-starfishes-sip.md b/.changeset/purple-starfishes-sip.md new file mode 100644 index 000000000000..03f2991fbfd3 --- /dev/null +++ b/.changeset/purple-starfishes-sip.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-vercel': patch +--- + +fix: prerendered trailing slash redirect for Vercel adapter diff --git a/packages/adapter-vercel/index.js b/packages/adapter-vercel/index.js index 529225d7cf28..47d384ee3feb 100644 --- a/packages/adapter-vercel/index.js +++ b/packages/adapter-vercel/index.js @@ -193,16 +193,24 @@ function static_vercel_config(builder) { } for (const [path, page] of builder.prerendered.pages) { - if (path.endsWith('/') && path !== '/') { + let overrides_path = path.slice(1); + + if (path !== '/') { + /** @type {string | undefined} */ + let counterpart_route = path + '/'; + + if (path.endsWith('/')) { + counterpart_route = path.slice(0, -1); + overrides_path = path.slice(1, -1); + } + prerendered_redirects.push( - { src: path, dest: path.slice(0, -1) }, - { src: path.slice(0, -1), status: 308, headers: { Location: path } } + { src: path, dest: counterpart_route }, + { src: counterpart_route, status: 308, headers: { Location: path } } ); - - overrides[page.file] = { path: path.slice(1, -1) }; - } else { - overrides[page.file] = { path: path.slice(1) }; } + + overrides[page.file] = { path: overrides_path }; } return { From c4c084e0befc6ccd0d20ef1993bd1fb0a2f48630 Mon Sep 17 00:00:00 2001 From: Simon H <5968653+dummdidumm@users.noreply.github.com> Date: Mon, 30 Jan 2023 10:38:51 +0100 Subject: [PATCH 2/2] Update .changeset/purple-starfishes-sip.md --- .changeset/purple-starfishes-sip.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/purple-starfishes-sip.md b/.changeset/purple-starfishes-sip.md index 03f2991fbfd3..1b10ffc07011 100644 --- a/.changeset/purple-starfishes-sip.md +++ b/.changeset/purple-starfishes-sip.md @@ -2,4 +2,4 @@ '@sveltejs/adapter-vercel': patch --- -fix: prerendered trailing slash redirect for Vercel adapter +fix: add trailing slash -> no trailing slash redirect for prerendered pages