You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 24.2.0: Fri Dec 6 18:51:28 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T8112
Available memory (MB): 16384
Available CPU cores: 8
Binaries:
Node: 20.10.0
npm: 10.8.1
Yarn: 1.22.22
pnpm: 9.15.0
Relevant Packages:
next: 15.2.0-canary.19 // Latest available version is detected (15.2.0-canary.19).
eslint-config-next: N/A
react: 19.0.0
react-dom: 19.0.0
typescript: 5.7.3
Next.js Config:
output: N/A
Which area(s) are affected? (Select all that apply)
Middleware
Which stage(s) are affected? (Select all that apply)
next dev (local)
Additional context
Minimal demo of possible middleware NextResponse.redirect() Bug
Demonstrates that NextResponse.redirect is not obeying explicit urls when redirecting from a subdomain foo.example.test to the apex domain example.test
bentron2000
changed the title
NextResponse.redirect() fails when redirecting from subdomain route to apex domain route
NextResponse.redirect() behaves incorrectly when redirecting from subdomain route to apex domain route
Jan 22, 2025
I think there has been a fix related to this issue, #64604, but it requires setting a basePath IIRC, which is not ideal... somewhat related discussion here, #74732
Link to the code that reproduces this issue
https://github.com/bentron2000/next-response-bug-report
To Reproduce
Set
/etc/hosts
:Install Packages:
Start Server:
Then Navigate to the following link and observe the result.
'http://foo.example.test:3000/shouldredirect'
Current vs. Expected behavior
When you navigate to the 'http://foo.example.test:3000/shouldredirect'
Middleware should select for this route and redirect to the apex domain '/login' page
Expected Result:
Redirect to : 'http://example.test:3000/login' -> 'Hooray - we redirected properly'
Actual Result:
Redirect to : 'http://foo.example.test:3000/login' -> 'Should not be redirected here'
Provide environment information
Operating System: Platform: darwin Arch: arm64 Version: Darwin Kernel Version 24.2.0: Fri Dec 6 18:51:28 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T8112 Available memory (MB): 16384 Available CPU cores: 8 Binaries: Node: 20.10.0 npm: 10.8.1 Yarn: 1.22.22 pnpm: 9.15.0 Relevant Packages: next: 15.2.0-canary.19 // Latest available version is detected (15.2.0-canary.19). eslint-config-next: N/A react: 19.0.0 react-dom: 19.0.0 typescript: 5.7.3 Next.js Config: output: N/A
Which area(s) are affected? (Select all that apply)
Middleware
Which stage(s) are affected? (Select all that apply)
next dev (local)
Additional context
Minimal demo of possible middleware
NextResponse.redirect()
BugDemonstrates that NextResponse.redirect is not obeying explicit urls when redirecting from a subdomain
foo.example.test
to the apex domainexample.test
In this example, middleware has been set to catch a specific subdomain route and to redirect it to an explicitly set route on the apex domain
'http://foo.example.test:3000/shouldredirect' -> 'http://example.test:3000/login'
This does not happen - it redirects to the same path but on the subdomain.
To Reproduce
Set
/etc/hosts
:Install Packages:
Start Server:
Then Navigate to the following link and observe the result.
'http://foo.example.test:3000/shouldredirect'
Middleware should select for this route and redirect to the apex domain '/login' page
Expected Result:
Redirect to : 'http://example.test:3000/login' -> 'Hooray - we redirected properly'
Actual Result:
Redirect to : 'http://foo.example.test:3000/login' -> 'Should not be redirected here'
The text was updated successfully, but these errors were encountered: