{"data":{"id":"magento2-38539","source":"github-pr","sourceRef":"magento/magento2#38539","title":"Redirect loop when URL have uppercase","pr":{"number":38539,"url":"https://github.com/magento/magento2/pull/38539","author":"rogerdz","mergedAt":"2024-11-01T15:51:08Z","mergeCommit":"272c73bfae5df89fb691c0f42fa3e6c84c9df34b","headCommit":"b890117ac8604af283c9d1233dc435b6f60b9a0b","baseRef":"2.4-develop","diffSha256":"8593e6cf853cc64b1050210d1b482b2fda1d8329407163f5d5e11200c7f7eb2a"},"issues":[{"number":38538,"url":"https://github.com/magento/magento2/issues/38538","title":"Redirect loop when URL have uppercase","labels":["Area: Account","Component: Url","Issue: Confirmed","Issue: needs update","Issue: ready for confirmation","Priority: P3","Progress: done","Reported on 2.4.x","Reproduced on 2.4.x"],"kind":"human"}],"fixedIn":"2.4.8","containingTags":["2.4.8","2.4.8-p1","2.4.8-p2","2.4.8-p3","2.4.8-p4","2.4.8-p5","2.4.9"],"reportedOn":null,"codeMatch":{"2.4.6":"clean","2.4.6-p1":"clean","2.4.6-p2":"clean","2.4.6-p3":"clean","2.4.6-p4":"clean","2.4.6-p5":"clean","2.4.6-p6":"clean","2.4.6-p7":"clean","2.4.6-p8":"clean","2.4.6-p9":"clean","2.4.6-p10":"clean","2.4.6-p11":"clean","2.4.6-p12":"clean","2.4.6-p13":"clean","2.4.6-p14":"clean","2.4.6-p15":"clean","2.4.7":"clean","2.4.7-p1":"clean","2.4.7-p2":"clean","2.4.7-p3":"clean","2.4.7-p4":"clean","2.4.7-p5":"clean","2.4.7-p6":"clean","2.4.7-p7":"clean","2.4.7-p8":"clean","2.4.7-p9":"clean","2.4.7-p10":"clean","2.4.8":"conflict","2.4.8-p1":"conflict","2.4.8-p2":"conflict","2.4.8-p3":"conflict","2.4.8-p4":"conflict","2.4.8-p5":"conflict","2.4.9":"conflict"},"affectedVersions":["2.4.6","2.4.6-p1","2.4.6-p2","2.4.6-p3","2.4.6-p4","2.4.6-p5","2.4.6-p6","2.4.6-p7","2.4.6-p8","2.4.6-p9","2.4.6-p10","2.4.6-p11","2.4.6-p12","2.4.6-p13","2.4.6-p14","2.4.6-p15","2.4.7","2.4.7-p1","2.4.7-p2","2.4.7-p3","2.4.7-p4","2.4.7-p5","2.4.7-p6","2.4.7-p7","2.4.7-p8","2.4.7-p9","2.4.7-p10"],"components":["magento/module-config"],"files":[{"path":"app/code/Magento/Config/Model/Config/Backend/Baseurl.php","change":"modified","package":"magento/module-config"}],"stripped":{"tests":["app/code/Magento/Config/Test/Unit/Model/Config/Backend/BaseurlTest.php"],"docs":[],"outsideCode":[]},"linesChanged":6,"mergeBatched":false,"excluded":null,"sections":{"description":"Redirect loop\n!https://github.com/magento/magento2/assets/78783748/90e91b39-6f89-49c3-99c5-a2d2ebba718c!","stepsToReproduce":"1. Run: php bin/magento con:set web/secure/base_url https://Magento2.test/ ( or change Secure Base URL value in admin)\n1. Clean cache: php bin/magento cache:clean\n1. Go to homepage","expectedResult":"URL should convert to lowercase","actualResult":"Redirect loop\n!https://github.com/magento/magento2/assets/78783748/90e91b39-6f89-49c3-99c5-a2d2ebba718c!","source":"issue"},"signatures":[],"labels":{"area":["Account"],"component":["Url"],"priority":"P3","severity":null,"reportedOn":["2.4.x"]},"categories":[],"triage":{"model":"@cf/cloudflare/clef","requestHash":"28add8da33c413f2296ae1645d027d5a3b7791963db92a121c632993174a2352","isBugfix":0.9741,"changeKind":{"choice":"bugfix","probabilities":{"bugfix":0.9664,"feature":0.0068,"refactor":0.0118,"tests_only":0.008,"docs_only":0.0032,"dependency":0.0038},"confidence":0.9211},"scope":{"score":0.4691,"probabilities":{"0":0.6134,"1":0.3042,"2":0.0824},"confidence":0.2133},"risk":{"score":0.3736,"probabilities":{"0":0.7014,"1":0.2236,"2":0.075},"confidence":0.3214},"area":{"choice":"framework","probabilities":{"catalog":0.0107,"checkout":0.0071,"customer":0.0286,"admin":0.2392,"graphql_api":0.0061,"framework":0.6148,"frontend":0.0437,"other":0.0498},"confidence":0.3607},"securityRelevant":0.1074,"reportedVersion":{"choice":"unspecified","probabilities":{"2.4.0":0.0089,"2.4.0-p1":0.0049,"2.4.1":0.0037,"2.4.1-p1":0.0034,"2.4.2":0.0047,"2.4.2-p1":0.0044,"2.4.2-p2":0.0063,"2.4.3":0.0094,"2.4.3-p1":0.0071,"2.4.3-p2":0.008,"2.4.3-p3":0.0056,"2.4.4":0.0097,"2.4.4-p1":0.0075,"2.4.4-p10":0.006,"2.4.4-p11":0.0072,"2.4.4-p12":0.0063,"2.4.4-p13":0.006,"2.4.4-p14":0.0067,"2.4.4-p15":0.0052,"2.4.4-p16":0.0055,"2.4.4-p17":0.0052,"2.4.4-p18":0.0047,"2.4.4-p2":0.0032,"2.4.4-p3":0.0034,"2.4.4-p4":0.0038,"2.4.4-p5":0.0043,"2.4.4-p6":0.0041,"2.4.4-p7":0.005,"2.4.4-p8":0.0043,"2.4.4-p9":0.0038,"2.4.5":0.0084,"2.4.5-p1":0.0082,"2.4.5-p10":0.0063,"2.4.5-p11":0.0097,"2.4.5-p12":0.0088,"2.4.5-p13":0.0078,"2.4.5-p14":0.0072,"2.4.5-p15":0.0066,"2.4.5-p16":0.0061,"2.4.5-p17":0.006,"2.4.5-p2":0.0038,"2.4.5-p3":0.0048,"2.4.5-p4":0.0052,"2.4.5-p5":0.0057,"2.4.5-p6":0.0051,"2.4.5-p7":0.0059,"2.4.5-p8":0.0046,"2.4.5-p9":0.0039,"2.4.6":0.0118,"2.4.6-p1":0.0097,"2.4.6-p10":0.0087,"2.4.6-p11":0.009,"2.4.6-p12":0.0086,"2.4.6-p13":0.0079,"2.4.6-p14":0.009,"2.4.6-p15":0.0057,"2.4.6-p2":0.0039,"2.4.6-p3":0.0055,"2.4.6-p4":0.0063,"2.4.6-p5":0.0059,"2.4.6-p6":0.0077,"2.4.6-p7":0.0069,"2.4.6-p8":0.0049,"2.4.6-p9":0.004,"2.4.7":0.0096,"2.4.7-p1":0.0078,"2.4.7-p10":0.0079,"2.4.7-p2":0.0056,"2.4.7-p3":0.0086,"2.4.7-p4":0.0103,"2.4.7-p5":0.0081,"2.4.7-p6":0.0097,"2.4.7-p7":0.0093,"2.4.7-p8":0.0066,"2.4.7-p9":0.0048,"2.4.8":0.0083,"2.4.8-p1":0.0087,"2.4.8-p2":0.0103,"2.4.8-p3":0.0103,"2.4.8-p4":0.0107,"2.4.8-p5":0.0082,"2.4.9":0.0097,"unspecified":0.4476},"confidence":0.1948},"backportWorthy":{"score":1.5264,"probabilities":{"0":0.1198,"1":0.2341,"2":0.6461},"confidence":0.23}},"curated":{"title":"Fixes the redirect loop when the base URL contains uppercase characters","description":"When the Secure Base URL has uppercase, like https://Magento2.test/, the homepage ends in a redirect loop. In beforeSave(), the Baseurl backend config model now runs strtolower on the value and passes the lowercase value to setValue.","categories":[],"author":"claude-code/opus-5.5","date":"2026-10-06","reviewedBy":null},"tests":{"2.4.7-p10":{"before":"fail","after":"pass","adapted":false,"runAt":"2026-10-06T09:29:15.119Z","releaseCommit":"72561bf80652f57cc642a03e2c9a51d74a285b14","suites":{"unit":{"before":"fail","after":"pass","runAt":"2026-10-06T09:29:15.119Z"}}}}},"_documentation":"https://magento.watch/api","_description":"Upstream fix magento2-38539 details"}