From b25427c73264de4c75d3f67e0cbf254a2dd022df Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Thu, 15 Oct 2009 22:24:29 +0000 Subject: [PATCH] BUGFIX: Fixed generation of static cache files in subdirectories. (from r88569) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@89183 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- core/control/Director.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/control/Director.php b/core/control/Director.php index 1a0ad23dc..5df71268e 100755 --- a/core/control/Director.php +++ b/core/control/Director.php @@ -202,10 +202,7 @@ class Director { if (@parse_url($url, PHP_URL_HOST) != '') { $bits = parse_url($url); $_SERVER['HTTP_HOST'] = $bits['host']; - // Implementing a custom absolute->relative code snippet as - // Director::makeRelative() chokes on a url like http://localhost - // it will just return the original string, not /, or ''. - $url = (isset($bits['path']) ? $bits['path'] : '/') . (isset($bits['query']) ? '?'.$bits['query'] : '') . (isset($bits['fragment']) ? '#'.$bits['fragment'] : ''); + $url = Director::makeRelative($url); } $urlWithQuerystring = $url; @@ -487,6 +484,8 @@ class Director { if(preg_match('/^https?[^:]*:\/\//',$url)) { $base1 = self::absoluteBaseURL(); if(substr($url,0,strlen($base1)) == $base1) return substr($url,strlen($base1)); + // Convert http://www.mydomain.com/mysitedir to '' + else if(substr($base1,-1)=="/" && $url == substr($base1,0,-1)) return ""; } // test for base folder, e.g. /var/www