Localization Silex双语URL路由
我想知道在Silex中实现所需(见下文)的最佳方法是什么 以下是我想要的:Localization Silex双语URL路由,localization,url-routing,silex,Localization,Url Routing,Silex,我想知道在Silex中实现所需(见下文)的最佳方法是什么 以下是我想要的: 所有URL必须以区域设置(/en/page1,/fr/page1,/en/page2,/fr/page2,…)开头 当用户点击主页时,我将检查浏览器语言并将/en或/fr添加到主页 当在主页中添加/en或/fr时,是否有一种方法可以在Silex中不重定向的情况下做到这一点(我认为重定向主页不是一个好的SEO实践(我在SEO方面的知识非常有限,所以可能我错了)) 谢谢你你可以看看 特别是: $app->mount
- 所有URL必须以区域设置(/en/page1,/fr/page1,/en/page2,/fr/page2,…)开头
- 当用户点击主页时,我将检查浏览器语言并将/en或/fr添加到主页
- 当在主页中添加/en或/fr时,是否有一种方法可以在Silex中不重定向的情况下做到这一点(我认为重定向主页不是一个好的SEO实践(我在SEO方面的知识非常有限,所以可能我错了))
$app->mount('/blog', $blog);
因此,我认为你可以用这个做一些事情,比如:
$app->mount('/{_locale}', $site);
我没有尝试过,但我认为它会起作用,请让我知道:)对我来说,这是Silex v2.x最简单、最干净的选择: 安装silex本地软件包
composer需要pmax/silex语言环境“^2.0”
将LocalServiceProvidet添加到app.php文件:
$app->register(new Pmaxs\Silex\Locale\Provider\LocaleServiceProvider(), [
'locale.locales' => ['en', 'ca', 'es'],
'locale.default_locale' => 'en',
'locale.resolve_by_host' => false,
'locale.exclude_routes' => ['^_'],
]);
$app->register(new Silex\Provider\LocaleServiceProvider(), []);
这样,您就不必在端点中添加任何额外的内容,而且所有内容都是默认处理的
有关Silex v1.x的信息,请参阅