Symfony 2 на виртуальных хостах

У меня проблема с Symfony 2. Я хочу иметь виртуальный хост на ПК с Windows Vista, поэтому я могу получить доступ к моему приложению Symfony, как это сделать myapp.local.com. Что я пробовал:

  • Я добавил эти строки в файл hosts

    127.0.0.1 local.com    
    127.0.0.1 myapp.local.com
    
  • Я добавил в apache httpd-vhosts.conf

    < VirtualHost myapp.local.com:80 >
       DocumentRoot "d:/data/www/myapp/web"
       ServerName myapp.local.com
       Alias /sf /$sf_symfony_data_dir/web/sf
    < Directory "/$sf_symfony_data_dir/web/sf" >
       AllowOverride All
       Allow from All
    < /Directory >
    < Directory "d:/data/www/myapp/web" >
       AllowOverride All
       Allow from All
    < /Directory >
    < /VirtualHost >
    

но когда я пишу myapp.local.com в своем браузере, он выводит индекс моей директории www. Что я делаю неправильно?

Ответ 1

Вы используете конфигурацию виртуального хоста, предлагаемую для Symfony 1.

Мой виртуальный хост для Symfony2 под Linux выглядит следующим образом:

<VirtualHost *:80>
    ServerName www.domain.com.localhost
    ServerAlias domain.com.localhost
    ServerAdmin [email protected]

    DocumentRoot /home/user/www/project/web
    <Directory /home/user/www/project/web/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </Directory>
</VirtualHost>

Попробуйте это (адаптировано к вашей конфигурации в окнах), перезапустите Apache и попробуйте снова получить URL-адрес.

Более подробную информацию о виртуальных хостах Symfony2 вы найдете в этой записи в кулинарной книге.