diff --git a/middleware.ts b/middleware.ts index c8510a8d9..ed7aa5974 100644 --- a/middleware.ts +++ b/middleware.ts @@ -5,6 +5,7 @@ import * as cmsContent from "./middlewares/cmsContent" import * as currentWebLogin from "./middlewares/currentWebLogin" import * as ensureLang from "./middlewares/ensureLang" import * as handleAuth from "./middlewares/handleAuth" +import * as myPages from "./middlewares/myPages" import * as webView from "./middlewares/webView" export const middleware: NextMiddleware = async (request, event) => { @@ -13,6 +14,7 @@ export const middleware: NextMiddleware = async (request, event) => { currentWebLogin, authRequired, handleAuth, + myPages, webView, cmsContent, ] diff --git a/middlewares/myPages.ts b/middlewares/myPages.ts new file mode 100644 index 000000000..98382b3fb --- /dev/null +++ b/middlewares/myPages.ts @@ -0,0 +1,24 @@ +import { NextResponse } from "next/server" + +import { findLang } from "@/constants/languages" +import { myPages, overview } from "@/constants/routes/myPages" + +import type { NextMiddleware } from "next/server" + +import type { MiddlewareMatcher } from "@/types/middleware" + +export const middleware: NextMiddleware = (request) => { + const lang = findLang(request.nextUrl.pathname)! + return NextResponse.redirect(overview[lang]) +} + +export const matcher: MiddlewareMatcher = (request) => { + return [ + myPages.da, + myPages.de, + myPages.en, + myPages.fi, + myPages.no, + myPages.sv, + ].includes(request.nextUrl.pathname) +} diff --git a/next.config.js b/next.config.js index 2b2545b73..c04aa74e2 100644 --- a/next.config.js +++ b/next.config.js @@ -46,40 +46,6 @@ const nextConfig = { return config }, - redirects() { - return [ - { - source: myPages.da, - destination: overview.da, - permanent: false, - }, - { - source: myPages.de, - destination: overview.de, - permanent: false, - }, - { - source: myPages.en, - destination: overview.en, - permanent: false, - }, - { - source: myPages.fi, - destination: overview.fi, - permanent: false, - }, - { - source: myPages.no, - destination: overview.no, - permanent: false, - }, - { - source: myPages.sv, - destination: overview.sv, - permanent: false, - }, - ] - }, rewrites() { return { beforeFiles: [