fixing base url generation.

This commit is contained in:
Taylor Otwell 2012-04-02 20:45:20 -05:00
parent 2276c6705c
commit 4c2406db29
1 changed files with 4 additions and 26 deletions

View File

@ -68,38 +68,16 @@ public static function base()
{ {
$base = $url; $base = $url;
} }
elseif (isset($_SERVER['HTTP_HOST'])) else
{ {
$base = static::guess(); $f = Request::foundation();
$base = $f->getScheme().'://'.$f->getHttpHost().$f->getBaseUrl();
} }
return static::$base = $base; return static::$base = $base;
} }
/**
* Guess the application URL based on the $_SERVER variables.
*
* @return string
*/
protected static function guess()
{
$protocol = (Request::secure()) ? 'https://' : 'http://';
// Basically, by removing the basename, we are removing everything after
// the and including the front controller from the URI. Leaving us with
// the installation path for the application.
$script = $_SERVER['SCRIPT_NAME'];
$path = str_replace(basename($script), '', $script);
// Now that we have the URL, all we need to do is attach the protocol
// protocol and HTTP_HOST to build the URL for the application, and
// we also trim off trailing slashes for cleanliness.
$uri = $protocol.$_SERVER['HTTP_HOST'].$path;
return rtrim($uri, '/');
}
/** /**
* Generate an application URL. * Generate an application URL.
* *