J'utilise Silex 2 et je voudrais rediriger vers la page d'accueil avec les paramètres régionaux par défaut si une URL est chargée en utilisant un environnement local non valide.Silex rediriger la modification des paramètres régionaux
// homepage/root
$this->get('{_locale}/', function (Request $request) use ($app) {
return $app['twig']->render('index/index.html.twig', array());
})->bind('homepage');
Avant middleware:
// i18n Control
$locale = $request->getLocale();
$allowLocale = ['en','es','de'];
if (!in_array($locale, $allowLocale)) {
$request->setLocale('en');
$response = new \Symfony\Component\HttpFoundation\RedirectResponse($app['url_generator']->generate('homepage'), 301);
$response->prepare($request);
return $response->send();
}
Mais ce code produit une boucle infinie.
Je veux:
Si l'utilisateur d'ajouter cette URL:/es/foo alors tout est ok.
Si l'utilisateur insère cette URL:/fr/foo, il doit alors être redirigé vers/fr.
Merci.
Vous pouvez le faire facilement, vérifier ma réponse ci-dessous ... – mTorres
Merci pour votre contribution, cela m'a été utile. – cybtow