fix(magento-store): redirect product URLs without /p/ prefix to product route#2581
Open
hnsr wants to merge 1 commit intographcommerce-org:canaryfrom
Open
fix(magento-store): redirect product URLs without /p/ prefix to product route#2581hnsr wants to merge 1 commit intographcommerce-org:canaryfrom
hnsr wants to merge 1 commit intographcommerce-org:canaryfrom
Conversation
…ct route When visiting a product URL without the configured product route prefix (e.g., /my-product instead of /p/my-product), the redirectOrNotFound function would return a 404 even though Magento's route resolver successfully identified it as a product. The issue occurs when relative_url equals the incoming URL - no redirect was triggered because the code only redirected when relative_url !== from. However, for products accessed without the /p/ prefix, we still need to redirect to the product route even when the URL key matches. This fix adds a check: if the route resolver finds a product but there's no explicit redirect URL (relative_url === from), redirect to the product route anyway.
|
|
@hnsr is attempting to deploy a commit to the Reach Digital Team on Vercel. A member of the Team first needs to authorize it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
When visiting a product URL without the configured product route prefix (e.g.,
/my-productinstead of/p/my-product), theredirectOrNotFoundfunction returns a 404 even though Magento's route resolver successfully identifies it as a product.The Problem
The issue is in the redirect logic. When
relative_url === from(which is the case when accessing/my-product),redirectUrlisundefined, and the code falls through tonotFoundeven though:The Fix
Added a check after the existing redirect logic: if no explicit redirect URL exists but the route is identified as a product type, redirect to the product route anyway.
Test plan
/p/prefix (e.g.,/my-product-slug)/p/my-product-slug