From d76d476e75d7e36e79746b45f2e3d7a9cfbe6bc3 Mon Sep 17 00:00:00 2001 From: MisakaAkio Date: Thu, 17 Sep 2026 02:10:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E8=87=B4=20EdgeOne?= =?UTF-8?q?=20=E6=9E=84=E5=BB=BA=E5=86=85=E5=AD=98=E7=9B=98=E8=80=97?= =?UTF-8?q?=E5=B0=BD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- edgeone.json | 26 ++++++++++++++++++++++++++ src/app/[locale]/layout.tsx | 17 +---------------- 2 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 edgeone.json diff --git a/edgeone.json b/edgeone.json new file mode 100644 index 0000000..97b8d3f --- /dev/null +++ b/edgeone.json @@ -0,0 +1,26 @@ +{ + "redirects": [ + { "source": "/zh-CN", "destination": "/zh-Hans", "statusCode": 301 }, + { "source": "/zh-CN/*", "destination": "/zh-Hans/:splat", "statusCode": 301 }, + { "source": "/zh-cn", "destination": "/zh-Hans", "statusCode": 301 }, + { "source": "/zh-cn/*", "destination": "/zh-Hans/:splat", "statusCode": 301 }, + { "source": "/zh-SG", "destination": "/zh-Hans", "statusCode": 301 }, + { "source": "/zh-SG/*", "destination": "/zh-Hans/:splat", "statusCode": 301 }, + { "source": "/zh-sg", "destination": "/zh-Hans", "statusCode": 301 }, + { "source": "/zh-sg/*", "destination": "/zh-Hans/:splat", "statusCode": 301 }, + { "source": "/zh-TW", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-TW/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/zh-tw", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-tw/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/zh-HK", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-HK/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/zh-hk", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-hk/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/zh-MO", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-MO/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/zh-mo", "destination": "/zh-Hant", "statusCode": 301 }, + { "source": "/zh-mo/*", "destination": "/zh-Hant/:splat", "statusCode": 301 }, + { "source": "/ja", "destination": "/jp", "statusCode": 301 }, + { "source": "/ja/*", "destination": "/jp/:splat", "statusCode": 301 } + ] +} diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx index a1fccf3..3a74dbb 100644 --- a/src/app/[locale]/layout.tsx +++ b/src/app/[locale]/layout.tsx @@ -5,22 +5,7 @@ import { getLocaleMessages, locales, matchLocale } from "@/lib/i18n"; export const dynamicParams = false; export function generateStaticParams() { - return [ - ...locales, - "zh-hans", - "zh-hant", - "zh-CN", - "zh-cn", - "zh-SG", - "zh-sg", - "zh-TW", - "zh-tw", - "zh-HK", - "zh-hk", - "zh-MO", - "zh-mo", - "ja", - ].map((locale) => ({ locale })); + return locales.map((locale) => ({ locale })); } export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }) {