<VirtualHost *:80>
ServerName blah.com
ServerAlias de.blah.com en.blah.com fr.blah.com
...
</VirtualHost>
Подробнее о псевдонимах сервера: http://httpd.apache.org/docs/2.0/en/mod/core.html#serveralias
Ваш фильтр Symfony может просто проанализировать домен во время первого запроса и установить переменную сеанса.Это не проверено, но должно работать:
<?php class localeFilter extends sfFilter
{
public function execute($filterChain)
{
// Execute this filter only once
if ($this->isFirstCall()) {
$host = $_REQUEST['HTTP_HOST'];
$locale = array_shift(explode(".",$host));
$this->getUser()->setAttribute('locale', $locale);
}
// Execute next filter
$filterChain->execute();
}
} ?>