Created
November 1, 2011 06:00
-
-
Save kawahara/1330025 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* The following methods are derived from code of the Zend Framework (1.10dev - 2010-01-24) | |
* | |
* Code subject to the new BSD license (http://framework.zend.com/license/new-bsd). | |
* | |
* Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) | |
*/ | |
protected function prepareRequestUri() | |
{ | |
$requestUri = ''; | |
if ($this->headers->has('X_REWRITE_URL')) { | |
// check this first so IIS will catch | |
$requestUri = $this->headers->get('X_REWRITE_URL'); | |
} elseif ($this->server->get('IIS_WasUrlRewritten') == '1' && $this->server->get('UNENCODED_URL') != '') { | |
// IIS7 with URL Rewrite: make sure we get the unencoded url (double slash problem) | |
$requestUri = $this->server->get('UNENCODED_URL'); | |
} elseif ($this->server->has('REQUEST_URI')) { | |
$requestUri = $this->server->get('REQUEST_URI'); | |
// HTTP proxy reqs setup request uri with scheme and host [and port] + the url path, only use url path | |
$schemeAndHttpHost = $this->getScheme().'://'.$this->getHttpHost(); | |
if (strpos($requestUri, $schemeAndHttpHost) === 0) { | |
$requestUri = substr($requestUri, strlen($schemeAndHttpHost)); | |
} | |
} elseif ($this->server->has('ORIG_PATH_INFO')) { | |
// IIS 5.0, PHP as CGI | |
$requestUri = $this->server->get('ORIG_PATH_INFO'); | |
if ($this->server->get('QUERY_STRING')) { | |
$requestUri .= '?'.$this->server->get('QUERY_STRING'); | |
} | |
} | |
return $requestUri; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment