diff --git a/code/staticpublisher/StaticPublisher.php b/code/staticpublisher/StaticPublisher.php index 43309737..20a4da57 100644 --- a/code/staticpublisher/StaticPublisher.php +++ b/code/staticpublisher/StaticPublisher.php @@ -72,12 +72,16 @@ abstract class StaticPublisher extends DataObjectDecorator { } } + // Note: Similiar to RebuildStaticCacheTask->rebuildCache() foreach($urls as $i => $url) { if(!is_string($url)) { user_error("Bad URL: " . var_export($url, true), E_USER_WARNING); continue; } - if(substr($url,-1) == '/') $url = substr($url,0,-1); + + // Remove leading slashes from all URLs (apart from the homepage) + if(substr($url,-1) == '/' && $url != '/') $url = substr($url,0,-1); + $urls[$i] = $url; } diff --git a/tasks/RebuildStaticCacheTask.php b/tasks/RebuildStaticCacheTask.php index 99c044d0..6d1df6eb 100644 --- a/tasks/RebuildStaticCacheTask.php +++ b/tasks/RebuildStaticCacheTask.php @@ -54,13 +54,16 @@ class RebuildStaticCacheTask extends Controller { touch($cacheBaseDir.'/lock'); + // Note: Similiar to StaticPublisher->republish() foreach($urls as $i => $url) { if($url && !is_string($url)) { user_error("Bad URL: " . var_export($url, true), E_USER_WARNING); continue; } - if(substr($url,-1) == '/') $url = substr($url,0,-1); + // Remove leading slashes from all URLs (apart from the homepage) + if(substr($url,-1) == '/' && $url != '/') $url = substr($url,0,-1); + $urls[$i] = $url; } $urls = array_unique($urls);