Merge pull request 'fix(tradein/frontend): redirect legacy /trade-in root to canonical /v2' (#2166) from fix/tradein-canonical-v2-redirect into main
Some checks failed
Deploy Trade-In / changes (push) Successful in 11s
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / test (push) Failing after 1m37s
Deploy Trade-In / build-backend (push) Has been skipped
Deploy Trade-In / build-frontend (push) Successful in 2m29s
Deploy Trade-In / deploy (push) Has been skipped

This commit is contained in:
lekss361 2026-07-02 16:33:08 +00:00
commit b8ed46d2dc

View file

@ -16,6 +16,18 @@ const nextConfig: NextConfig = {
// trailingSlash — false (default), важно чтобы Caddy /trade-in без слэша
// редиректил на /trade-in/.
// Каноничная витрина = /v2. Легаси-корень (app/page.tsx, HeroSummary)
// остаётся в репо, но корень редиректит на /v2, чтобы оценщики попадали
// сразу на новую версию. permanent:false → 307 (обратимо, не кэшируется
// навсегда). basePath авто-префиксит source/destination → редирект живёт
// на /trade-in → /trade-in/v2. Query-string Next пробрасывает автоматически
// (destination без своего query), поэтому /trade-in/?id=<uuid> →
// /trade-in/v2?id=<uuid> — ссылки на конкретную оценку (restore по ?id=)
// не ломаются.
async redirects() {
return [{ source: "/", destination: "/v2", permanent: false }];
},
// В dev (без Caddy) Next.js сам проксирует /api/* и /health на backend
// так что браузер использует относительные same-origin URLs.
async rewrites() {