Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
[Routing] dont redirect routes with greedy trailing vars with no explicit slash#30013
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
stloyd commentedJan 29, 2019
@nicolas-grekas IIRC this (or really similar one) issue exists on |
a7873ab to19c9cb6Comparenicolas-grekas commentedJan 29, 2019
Please provide a test case. The ones I added didn't highlight any similar issues. |
19c9cb6 tof09c693Comparef09c693 to2bb8890Compare…ith no explicit slash (nicolas-grekas)This PR was merged into the 4.1 branch.Discussion----------[Routing] dont redirect routes with greedy trailing vars with no explicit slash| Q | A| ------------- | ---| Branch? | 4.1| Bug fix? | yes| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets |#29673#29734#29575| License | MIT| Doc PR | -From the linked issue:> The current logic is the following:> - when a route is declared with a trailing slash, the trimmed-slash url is redirected to the one with the slash> - when a route is declared with *no* trailing slash, the slashed url is redirected to the trimmed-slash one>> That includes routes with slash-greedy requirements: when the same greedy requirement matches both the slashed and the trimmed-slash URLs, only one of them is considered the canonical one and a redirection happens.>> We could fine tune this logic and make an exception when a trailing slash-greedy requirement is declared with no explicit trailing slash after it. (ie disable any redirections for `/foo/{.*}` but keep it for `/foo/{.*}/`. That would mean `/foo/bar` and `/foo/bar/` wouldn't trigger the redirection for route `/foo/{.*}`, breaking the "not-semantics" property of trailing slashes for catch-all routes. Which might be legit afterall.This PR implements this fine tuning, as that's the most BC behavior (and thus the correct one).See#30012 for `testGreedyTrailingRequirement` in action on 3.4 as a proof.Commits-------2bb8890 [Routing] dont redirect routes with greedy trailing vars with no explicit slash
ghost commentedJan 31, 2019
Will this be merged into 4.2 as well? |
chalasr commentedJan 31, 2019
@fantomas662 Yes it will, bugs are first merged into the lowest branch where they apply, then merged up to master. |
Uh oh!
There was an error while loading.Please reload this page.
From the linked issue:
This PR implements this fine tuning, as that's the most BC behavior (and thus the correct one).
See#30012 for
testGreedyTrailingRequirementin action on 3.4 as a proof.