From 7c8733c4c8d7179d55cc071be10f9e92cf31b726 Mon Sep 17 00:00:00 2001 From: Nate Swanson Date: Mon, 8 Dec 2025 18:55:41 -0600 Subject: [PATCH] Build query string array from url stripped of marketing params instead of original request uri. --- .../Framework/App/PageCache/Identifier.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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]; } }