From 10445cee8e7f37af02a771fce141582754a73254 Mon Sep 17 00:00:00 2001 From: Pamela Chia Date: Tue, 29 Sep 2026 15:42:45 -0700 Subject: [PATCH] fix(www): redirect bare dashboard paths (#51052) I added permanent www redirects for inbound Dashboard URLs that currently reach the www 404 page. The project rule requires a path segment and carries the full project suffix to Dashboard. ## To test - In the www preview, open `/login`, `/support/new?category=billing`, and `/account/tokens`. Each should redirect to its corresponding `/dashboard` page and preserve the query string. - Open `/project/` and `/project//database/migrations?source=docs`. Both should redirect to the same path under `/dashboard`, preserving the suffix and query string. - Open bare `/project`. It should remain outside the new redirect rule. ## Linear - fixes GROWTH-1302 ## Summary by CodeRabbit * **Other Changes** * Visiting `/login`, `/support/new`, or `/account/tokens` now redirects to the corresponding dashboard page. * Project links redirect to the matching dashboard project page. --- apps/www/lib/redirects.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/apps/www/lib/redirects.js b/apps/www/lib/redirects.js index c26571fa20e..06c99664a63 100644 --- a/apps/www/lib/redirects.js +++ b/apps/www/lib/redirects.js @@ -1698,6 +1698,11 @@ module.exports = [ source: '/sign-in', destination: 'https://supabase.com/dashboard/sign-in', }, + { + permanent: true, + source: '/login', + destination: 'https://supabase.com/dashboard/sign-in', + }, { permanent: true, source: '/sign-up', @@ -1748,6 +1753,21 @@ module.exports = [ source: '/projects', destination: 'https://supabase.com/dashboard/projects', }, + { + permanent: true, + source: '/support/new', + destination: 'https://supabase.com/dashboard/support/new', + }, + { + permanent: true, + source: '/account/tokens', + destination: 'https://supabase.com/dashboard/account/tokens', + }, + { + permanent: true, + source: '/project/:path+', + destination: 'https://supabase.com/dashboard/project/:path+', + }, // Reorganizing pooler docs:----------------------------- //external libraries