* (bug 8847) Strip spurious #fragments from request URI to fix redirect loops on...
authorBrion Vibber <brion@users.mediawiki.org>
Mon, 5 Mar 2007 18:54:27 +0000 (18:54 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Mon, 5 Mar 2007 18:54:27 +0000 (18:54 +0000)
RELEASE-NOTES
includes/WebRequest.php

index 10d1146..d6ae979 100644 (file)
@@ -246,6 +246,9 @@ lighter making things easier to read.
 * (bug 8747) When unwatching pages from Special:Watchlist/edit, put the
   confirmation messages in a proper list with a CSS class and id.
 * (bug 9155) Allow footer info to wrap in Monobook
+* (bug 8847) Strip spurious #fragments from request URI to fix redirect
+  loops on some server configurations
+
 
 == Languages updated ==
 
index b08fd4e..6c058af 100644 (file)
@@ -331,6 +331,14 @@ class WebRequest {
                                "REQUEST_URI or SCRIPT_NAME. Report details of your " .
                                "web server configuration to http://bugzilla.wikimedia.org/" );
                }
+               // User-agents should not send a fragment with the URI, but
+               // if they do, and the web server passes it on to us, we
+               // need to strip it or we get false-positive redirect loops
+               // or weird output URLs
+               $hash = strpos( $base, '#' );
+               if( $hash !== false ) {
+                       $base = substr( $base, 0, $hash );
+               }
                if( $base{0} == '/' ) {
                        return $base;
                } else {