Skip to content

Anchor links include rewritten part of the url in Pages Router #77394

@FMota0

Description

@FMota0

Link to the code that reproduces this issue

https://codesandbox.io/p/devbox/thirsty-cartwright-t8dhtw

To Reproduce

  1. Start an empty next pages router application
  2. Setup a middleware based on the documentation Next Docs
  3. Instrument the middleware to rewrite all the pages by adding the prefix en.
export function middleware(request: NextRequest) {
  const newUrl = request.nextUrl.clone();
  newUrl.pathname = `/en${newUrl.pathname}`;
  return NextResponse.rewrite(newUrl);
}
  1. Include a page in /en/index.tsx
  2. Add an anchor Link in the created page <Link href="#about">
  3. Try to access the index of the application

Current vs. Expected behavior

Following the steps from the previous section, I would expect that the link in the page would be only #about, but the prefix added in the middleware is included in the output of the page, the navigation works fine, but this affects the SEO of the page. In App Router the prefix is not included.

Image
Image

Provide environment information

Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 24.3.0: Thu Jan  2 20:24:23 PST 2025; root:xnu-11215.81.4~3/RELEASE_ARM64_T6031
  Available memory (MB): 49152
  Available CPU cores: 16
Binaries:
  Node: 18.19.0
  npm: 10.2.3
  Yarn: 1.22.4
  pnpm: 10.4.0
Relevant Packages:
  next: 15.3.0-canary.17 // Latest available version is detected (15.3.0-canary.17).
  eslint-config-next: 15.2.3
  react: 19.0.0
  react-dom: 19.0.0
  typescript: 5.8.2
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)

Middleware, Internationalization (i18n)

Which stage(s) are affected? (Select all that apply)

next dev (local), Vercel (Deployed)

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Internationalization (i18n)Related to Internationalization with Next.js.MiddlewareRelated to Next.js Middleware.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions