Skip to content
Discussion options

You must be logged in to vote

Your redirect pattern with source: '/:locale' is likely too aggressive and catches e.g. the manifest request.

You might need something more explicit like this:

// next.config.ts

import createNextIntlPlugin from 'next-intl/plugin';
import {routing} from './src/i18n/routing';

const withNextIntl = createNextIntlPlugin();

/** @type {import('next').NextConfig} */
const nextConfig = {
  async redirects() {
    return [
      ...routing.locales.flatMap((locale) => [
        {
          source: `/${locale}`,
          destination: `/${locale}/outer/inner`,
          permanent: true
        },
        {
          source: `/${locale}/outer`,
          destination: `/${locale}/outer/inner`,

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by FrontLeejonghun
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
bug Something isn't working unconfirmed Needs triage.
2 participants
Converted from issue

This discussion was converted from issue #2024 on September 16, 2025 10:42.