虚拟主机上的Symfony 2

ArV*_*Van 12 host virtualhost symfony

我在这里遇到Symfony 2的问题.我想在Windows Vista PC上安装虚拟主机,所以我可以像这样访问我的Symfony应用程序myapp.local.com.我尝试过的:

  • 我将这些行添加到hosts文件中

    127.0.0.1 local.com    
    127.0.0.1 myapp.local.com
    
    Run Code Online (Sandbox Code Playgroud)
  • 这些我添加到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 >
    
    Run Code Online (Sandbox Code Playgroud)

但是当我myapp.local.com在浏览器中写入时,它会带来我的www目录索引.我究竟做错了什么?

Nan*_*com 48

您正在使用为Symfony 1建议的虚拟主机配置.

我在linux下的Symfony2虚拟主机看起来像这样:

<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>
Run Code Online (Sandbox Code Playgroud)

试试这个(适应你在windows中的配置),重启Apache,然后再次尝试访问URL.

您可以在此cookbook条目上找到有关Symfony2虚拟主机的更多信息.

  • 您需要安装mod_rewrite apache模块 (3认同)
  • 或者添加一行DirectoryIndex app.php (3认同)