Armería: versionar .bak-armory (copias previas al rediseño)
Copias de los ficheros de la armería tal y como estaban antes del rediseño (paperdoll, talentos y actividad), por si hace falta consultarlas o volver atrás.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import createMiddleware from 'next-intl/middleware'
|
||||
import { NextResponse, type NextRequest } from 'next/server'
|
||||
import { routing } from './i18n/routing'
|
||||
|
||||
const intlMiddleware = createMiddleware(routing)
|
||||
|
||||
// Raíces de idioma: «/es», «/en». Estas SÍ llevan barra final; el resto NO.
|
||||
const LOCALE_ROOTS = new Set(routing.locales.map((l) => `/${l}`))
|
||||
|
||||
export default function middleware(request: NextRequest) {
|
||||
const { pathname } = request.nextUrl
|
||||
|
||||
// 1) Raíz de idioma sin barra → con barra: /es → /es/
|
||||
if (LOCALE_ROOTS.has(pathname)) {
|
||||
const url = new URL(request.url)
|
||||
url.pathname = `${pathname}/`
|
||||
return NextResponse.redirect(url)
|
||||
}
|
||||
|
||||
// 2) Sub-ruta con barra final → sin barra (la raíz /es/ se conserva): /es/x/ → /es/x
|
||||
if (pathname.length > 1 && pathname.endsWith('/') && !LOCALE_ROOTS.has(pathname.slice(0, -1))) {
|
||||
const url = new URL(request.url)
|
||||
url.pathname = pathname.replace(/\/+$/, '')
|
||||
return NextResponse.redirect(url)
|
||||
}
|
||||
|
||||
return intlMiddleware(request)
|
||||
}
|
||||
|
||||
export const config = {
|
||||
// Aplica a todo salvo /api, estáticos de Next e ipas con extensión.
|
||||
matcher: ['/((?!api|_next|_vercel|.*\\..*).*)'],
|
||||
}
|
||||
Reference in New Issue
Block a user