From ab8e760c680315177c5d3830c651459aebf06841 Mon Sep 17 00:00:00 2001 From: Christophe Coevoet Date: Sun, 18 Sep 2011 00:21:28 +0200 Subject: [PATCH] Fixed the creation of the subrequests The subrequest must be created using an absolute path to keep the informations about the host and the base path. Closes #2168 --- src/Symfony/Bundle/FrameworkBundle/HttpKernel.php | 2 +- src/Symfony/Component/Security/Http/HttpUtils.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php b/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php index 8a46326c82..2f0ca70c88 100644 --- a/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php +++ b/src/Symfony/Bundle/FrameworkBundle/HttpKernel.php @@ -124,7 +124,7 @@ class HttpKernel extends BaseHttpKernel // controller or URI? if (0 === strpos($controller, '/')) { - $subRequest = Request::create($controller, 'get', array(), $request->cookies->all(), array(), $request->server->all()); + $subRequest = Request::create($request->getUriForPath($controller), 'get', array(), $request->cookies->all(), array(), $request->server->all()); $subRequest->setSession($request->getSession()); } else { $options['attributes']['_controller'] = $controller; diff --git a/src/Symfony/Component/Security/Http/HttpUtils.php b/src/Symfony/Component/Security/Http/HttpUtils.php index a293538d22..a26b1bd0a4 100644 --- a/src/Symfony/Component/Security/Http/HttpUtils.php +++ b/src/Symfony/Component/Security/Http/HttpUtils.php @@ -71,6 +71,9 @@ class HttpUtils $this->resetLocale($request); $path = $this->generateUrl($path, true); } + if (0 !== strpos($path, 'http')) { + $path = $request->getUriForPath($path); + } $newRequest = Request::create($path, 'get', array(), $request->cookies->all(), array(), $request->server->all()); if ($session = $request->getSession()) {