fix(gatsby): handle pathPrefix correctly in redirect lookup #39381
+80
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes an issue where redirects were missed when
pathPrefixwas present becausefindPathwas using the raw pathname (including prefix) for lookup.This PR changes
findPathto usetrimmedPathname(without prefix) formaybeGetBrowserRedirect, ensuring that redirects defined inredirects.json(which are prefix-agnostic) are correctly matched.Related Issue
Fixes #32142
Verification
A reproduction test case has been added in
packages/gatsby/cache-dir/__tests__/repro_issue.test.js. This test simulates a scenario where a request is made to a path that should redirect, but includes apathPrefix.Note: Local verification was limited due to environment setup issues, but the fix is based on clear code analysis of how
pathPrefixwas being mishandled in the redirect lookup.