diff --git a/plugins/system/sef/src/Extension/Sef.php b/plugins/system/sef/src/Extension/Sef.php index f4e0013e851e0..6cd73365bbff5 100644 --- a/plugins/system/sef/src/Extension/Sef.php +++ b/plugins/system/sef/src/Extension/Sef.php @@ -140,7 +140,7 @@ public function onAfterRoute(AfterRouteEvent $event) $origUri = clone Uri::getInstance(); $route = $origUri->toString(['path', 'query']); - if ($route !== $newRoute) { + if ($newRoute !== null && $route !== $newRoute) { $app->redirect($newRoute, 301); } } @@ -540,7 +540,13 @@ protected function enforceSEF() $route = $origUri->toString(['path', 'query']); $newRoute = Route::_($parsedVars, false); - $newUri = new Uri($newRoute); + + // The URL could not be built, e.g. the component has no site router + if ($newRoute === null) { + return; + } + + $newUri = new Uri($newRoute); if (!\count($newUri->getQuery(true)) && $route !== $newRoute) { $app->redirect($newRoute, 301);