WebRequest::getRequestURL: Follow up Ibe00a6b8

* Only match consecutive slashes at the beginning of the URL, where
  they are actually a problem.
* Fix bug 46607 in cases where the server provides an absolute URL.

Change-Id: Ibe00a6b8722786170d09b846c1c4054b73da3d9e
This commit is contained in:
Kevin Israel 2013-03-27 19:44:48 -04:00
parent a161e5f768
commit 516fcfe0ca

View file

@ -656,14 +656,11 @@ class WebRequest {
}
if( $base[0] == '/' ) {
if( isset( $base[1] ) && $base[1] == '/' ) { /* More than one slash will look like it is protocol relative */
return preg_replace( '!//*!', '/', $base );
}
return $base;
// More than one slash will look like it is protocol relative
return preg_replace( '!^/+!', '/', $base );
} else {
// We may get paths with a host prepended; strip it.
return preg_replace( '!^[^:]+://[^/]+/!', '/', $base );
return preg_replace( '!^[^:]+://[^/]+/+!', '/', $base );
}
}