Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
FMota0 opened this issue Mar 21, 2025 · 0 comments
Open

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

FMota0 opened this issue Mar 21, 2025 · 0 comments
Labels
Internationalization (i18n) Related to Internationalization with Next.js. Middleware Related to Next.js Middleware.

Comments

@FMota0
Copy link

FMota0 commented Mar 21, 2025

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

@github-actions github-actions bot added Internationalization (i18n) Related to Internationalization with Next.js. Middleware Related to Next.js Middleware. labels Mar 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Internationalization (i18n) Related to Internationalization with Next.js. Middleware Related to Next.js Middleware.
Projects
None yet
Development

No branches or pull requests

1 participant