From a3349913e5b88216f76ddc9a9a80998018dd86a8 Mon Sep 17 00:00:00 2001 From: Bohdan Korablov <bkorablov@magento.com> Date: Tue, 18 Oct 2016 14:45:32 +0300 Subject: [PATCH] MAGETWO-56317: [GitHub] -[2.1.0] underscore in site url breaks admin redirect - The page isn't redirecting properly #5809 --- .../Config/Model/Config/Backend/Baseurl.php | 1 + setup/src/Magento/Setup/Controller/UrlCheck.php | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/code/Magento/Config/Model/Config/Backend/Baseurl.php b/app/code/Magento/Config/Model/Config/Backend/Baseurl.php index fd09c2b95e5..75d626e0045 100644 --- a/app/code/Magento/Config/Model/Config/Backend/Baseurl.php +++ b/app/code/Magento/Config/Model/Config/Backend/Baseurl.php @@ -227,6 +227,7 @@ class Baseurl extends \Magento\Framework\App\Config\Value * * @param string $value * @return bool + * @throws \Magento\Framework\Exception\LocalizedException */ private function _isFullyQualifiedUrl($value) { diff --git a/setup/src/Magento/Setup/Controller/UrlCheck.php b/setup/src/Magento/Setup/Controller/UrlCheck.php index f7bee654c18..c27764d37aa 100644 --- a/setup/src/Magento/Setup/Controller/UrlCheck.php +++ b/setup/src/Magento/Setup/Controller/UrlCheck.php @@ -21,18 +21,19 @@ class UrlCheck extends AbstractActionController $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY); $result = ['successUrl' => false, 'successSecureUrl' => true]; + $hasBaseUrl = isset($params['address']['actual_base_url']); + $hasSecureBaseUrl = isset($params['https']['text']); + $hasSecureAdminUrl = !empty($params['https']['admin']); + $hasSecureFrontUrl = !empty($params['https']['front']); + // Validating of Base URL - if (isset($params['address']['actual_base_url']) - && filter_var($params['address']['actual_base_url'], FILTER_VALIDATE_URL) - ) { + if ($hasBaseUrl && filter_var($params['address']['actual_base_url'], FILTER_VALIDATE_URL)) { $result['successUrl'] = true; } // Validating of Secure Base URL - if (!empty($params['https']['admin']) || !empty($params['https']['front'])) { - if (!(isset($params['https']['text']) - && filter_var($params['https']['text'], FILTER_VALIDATE_URL)) - ) { + if ($hasSecureAdminUrl || $hasSecureFrontUrl) { + if (!($hasSecureBaseUrl && filter_var($params['https']['text'], FILTER_VALIDATE_URL))) { $result['successSecureUrl'] = false; } } -- GitLab