Successive slashes caused a parser mismatch
authorAlexander Ebert <ebert@woltlab.com>
Wed, 7 Jun 2017 09:07:22 +0000 (11:07 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Wed, 7 Jun 2017 09:07:29 +0000 (11:07 +0200)
wcfsetup/install/files/lib/page/AbstractPage.class.php

index 7b92d09da36ee31b11975abe0dd3b0ad30b4c344..d38cc0942ce785d7de386bd64d6e8bac6957f658 100644 (file)
@@ -203,8 +203,10 @@ abstract class AbstractPage implements IPage {
                                return '%' . strtoupper($matches['encoded']);
                        }, $requestURI);
                        
-                       $requestURL = parse_url($requestURI);
+                       // reduce successive forwarded slashes into a single one
+                       $requestURI = preg_replace('~/{2,}~', '/', $requestURI);
                        
+                       $requestURL = parse_url($requestURI);
                        $redirect = false;
                        if ($canonicalURL['path'] != $requestURL['path']) {
                                $redirect = true;