From 236eb628d2303a72df6a1575530b547b9513c5c9 Mon Sep 17 00:00:00 2001 From: Unchained Date: Fri, 6 Mar 2026 20:59:48 +0200 Subject: [PATCH] Fix i18n: use localePrefix: never to serve default locale at root --- src/i18n/routing.ts | 2 +- src/middleware.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/i18n/routing.ts b/src/i18n/routing.ts index 6cdaa0f..aca2499 100644 --- a/src/i18n/routing.ts +++ b/src/i18n/routing.ts @@ -3,5 +3,5 @@ import { defineRouting } from 'next-intl/routing'; export const routing = defineRouting({ locales: ['sr', 'en'], defaultLocale: 'sr', - localePrefix: 'as-needed' + localePrefix: 'never' }); diff --git a/src/middleware.ts b/src/middleware.ts index e73c385..a5de095 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -4,5 +4,10 @@ import { routing } from './i18n/routing'; export default createMiddleware(routing); export const config = { - matcher: ['/((?!api|_next|_vercel|.*\\..*).*)'] + // Match all pathnames except for + // - /api routes + // - /_next (Next.js internals) + // - /_vercel (Vercel internals) + // - all root files inside /public (e.g. /favicon.ico) + matcher: ['/((?!api|_next|_vercel|_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml).*)'] };