diff options
Diffstat (limited to 'packages/web/src/middleware.ts')
| -rw-r--r-- | packages/web/src/middleware.ts | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/packages/web/src/middleware.ts b/packages/web/src/middleware.ts index 5b2d33666..97d085dfb 100644 --- a/packages/web/src/middleware.ts +++ b/packages/web/src/middleware.ts @@ -1,5 +1,5 @@ import { defineMiddleware } from "astro:middleware" -import { matchLocale } from "./i18n/locales" +import { exactLocale, matchLocale } from "./i18n/locales" function docsAlias(pathname: string) { const hit = /^\/docs\/([^/]+)(\/.*)?$/.exec(pathname) @@ -7,12 +7,12 @@ function docsAlias(pathname: string) { const value = hit[1] ?? "" const tail = hit[2] ?? "" - const locale = matchLocale(value) + const locale = exactLocale(value) if (!locale) return null - if (locale === "root") return `/docs${tail}` - if (value === locale) return null - return `/docs/${locale}${tail}` + const next = locale === "root" ? `/docs${tail}` : `/docs/${locale}${tail}` + if (next === pathname) return null + return next } function localeFromCookie(header: string | null) { |
