diff --git a/core/modules/user/src/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php b/core/modules/user/src/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php index c00509f..5618605 100644 --- a/core/modules/user/src/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php +++ b/core/modules/user/src/Plugin/LanguageNegotiation/LanguageNegotiationUserAdmin.php @@ -127,10 +127,14 @@ protected function isAdminPath(Request $request) { $route_match = $this->stackedRouteMatch->getRouteMatchFromRequest($request); if ($route_match && !$route_object = $route_match->getRouteObject()) { try { + // Some inbound path processors make changes to the request. Make a + // copy as we're not actually routing the request so we do not want to + // make changes. + $cloned_request = clone $request; // Process the path as an inbound path. This will remove any language // prefixes and other path components that inbound processing would // clear out, so we can attempt to load the route clearly. - $path = $this->pathProcessorManager->processInbound(urldecode(rtrim($request->getPathInfo(), '/')), $request); + $path = $this->pathProcessorManager->processInbound(urldecode(rtrim($cloned_request->getPathInfo(), '/')), $cloned_request); $attributes = $this->router->match($path); } catch (ResourceNotFoundException $e) {