diff --git a/lib/internal/Magento/Framework/App/PageCache/Identifier.php b/lib/internal/Magento/Framework/App/PageCache/Identifier.php index b10681654683d..232797f13036d 100644 --- a/lib/internal/Magento/Framework/App/PageCache/Identifier.php +++ b/lib/internal/Magento/Framework/App/PageCache/Identifier.php @@ -106,14 +106,22 @@ private function reconstructUrl(string $url): array if (empty($url)) { return [$url, '']; } + $baseUrl = strtok($url, '?'); - $query = $this->request->getUri()->getQueryAsArray(); - if (!empty($query)) { - ksort($query); - $query = http_build_query($query); + $queryString = parse_url($url, PHP_URL_QUERY) ?? ''; + + $queryArray = []; + if ($queryString !== '') { + parse_str($queryString, $queryArray); + } + + if (!empty($queryArray)) { + ksort($queryArray); + $query = http_build_query($queryArray); } else { $query = ''; } + return [$baseUrl, $query]; } }