From 121469311d0ab8333d7fa25e1525e38f95d903d0 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Mon, 1 Jul 2019 20:18:42 +0300 Subject: [PATCH] Fixed redirect when using full path on subfolder install --- classes/plugin/Admin.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/classes/plugin/Admin.php b/classes/plugin/Admin.php index 351a6f59..3b03457c 100644 --- a/classes/plugin/Admin.php +++ b/classes/plugin/Admin.php @@ -363,11 +363,15 @@ class Admin return; } - $redirect = '/' . ltrim($redirect, '/'); + $redirect = '/' . ltrim(preg_replace('`//+`', '/', $redirect), '/'); $base = $this->base; + $root = Grav::instance()['uri']->rootUrl(); + if ($root === '/') { + $root = ''; + } - // Check if we already have an admin path: /admin. - if (Utils::startsWith($redirect, $base)) { + // Check if we already have an admin path: /admin or /root/admin. + if (Utils::startsWith($redirect, $base, false) || Utils::startsWith($redirect, $root . $base, false)) { $this->grav->redirect($redirect, $redirectCode); }