我想实现同样的目标。在 Symfony 1.4 中,这是我所做的:
创建了一个域 => 文化地图app.yml
all:
languages:
domain_map:
www.example.com: en
www.example.it: it
www.example.es: es
创建了一个myPatternRouting
扩展类sfPatternRouting
class myPatternRouting extends sfPatternRouting
{
public function getConfigFileName()
{
$domain_map = sfConfig::get('app_languages_domain_map');
$domain = $_SERVER['SERVER_NAME'];
$culture = isset($domain_map[$domain]) ? $domain_map[$domain] : 'en';
$routing = sprintf('config/routing.%s.yml', $culture);
return sfContext::getInstance()->getConfigCache()->checkConfig($routing, true);
}
}
更改了路由的工厂factories.yml
all:
routing:
class: myPatternRouting
为 routing.yml 文件的新模式创建了一个配置处理程序条目到config_handlers.yml
config/routing.*.yml:
class: sfRoutingConfigHandler
然后将路由文件创建为routing.[culture].yml
它有效:)