fix default locale redirect
This commit is contained in:
@@ -57,7 +57,6 @@ class RedirectToPreferredLocaleListener
|
|||||||
if (empty($this->locales)) {
|
if (empty($this->locales)) {
|
||||||
throw new \UnexpectedValueException('The list of supported locales must not be empty.');
|
throw new \UnexpectedValueException('The list of supported locales must not be empty.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->defaultLocale = $defaultLocale ?: $this->locales[0];
|
$this->defaultLocale = $defaultLocale ?: $this->locales[0];
|
||||||
|
|
||||||
if (!in_array($this->defaultLocale, $this->locales)) {
|
if (!in_array($this->defaultLocale, $this->locales)) {
|
||||||
@@ -79,7 +78,7 @@ class RedirectToPreferredLocaleListener
|
|||||||
$request = $event->getRequest();
|
$request = $event->getRequest();
|
||||||
|
|
||||||
// Ignore sub-requests and all URLs but the homepage
|
// Ignore sub-requests and all URLs but the homepage
|
||||||
if (!$event->isMasterRequest() || '/' !== $request->getPathInfo()) {
|
if ('/' !== $request->getPathInfo()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Ignore requests from referrers with the same HTTP host in order to prevent
|
// Ignore requests from referrers with the same HTTP host in order to prevent
|
||||||
@@ -90,9 +89,7 @@ class RedirectToPreferredLocaleListener
|
|||||||
|
|
||||||
$preferredLanguage = $request->getPreferredLanguage($this->locales);
|
$preferredLanguage = $request->getPreferredLanguage($this->locales);
|
||||||
|
|
||||||
if ($preferredLanguage !== $this->defaultLocale) {
|
|
||||||
$response = new RedirectResponse($this->urlGenerator->generate('homepage', ['_locale' => $preferredLanguage]));
|
$response = new RedirectResponse($this->urlGenerator->generate('homepage', ['_locale' => $preferredLanguage]));
|
||||||
$event->setResponse($response);
|
$event->setResponse($response);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user