Symfony 2 on virtual hosts

2019-01-13 22:42发布

问题:

I have a problem here with Symfony 2. I want to have virtual host on Windows Vista PC, so I can access my Symfony application like this myapp.local.com. What I have tried:

  • I added these lines to hosts file

    127.0.0.1 local.com    
    127.0.0.1 myapp.local.com
    
  • These I added to 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 >
    

but when I write myapp.local.com in my browser, it brings the index of my www directory. What am I doing wrong?

回答1:

You are using the virtualhost configuration proposed for Symfony 1.

My virtualhost for Symfony2 under linux looks like this:

<VirtualHost *:80>
    ServerName www.domain.com.localhost
    ServerAlias domain.com.localhost
    ServerAdmin webmaster@localhost

    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>

Try this (adapted to your config in windows), restart Apache, and try accessing the URL again.

You will find more informations on Symfony2 virtual hosts on this cookbook entry.



回答2:

Windows version for symphony 3.4:
Just simple like this:

C:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
  DocumentRoot "C:/xampp/htdocs/symphony_CRUD/web"
  DirectoryIndex app_dev.php
  ServerName fudu.symphony.net
</VirtualHost>

C:\Windows\System32\drivers\etc

127.0.0.1 fudu.symphony.net

Then you go fudu.symphony.net/app_dev.php
Hope it help some one :)