【问题标题】:Symfony 2 on virtual hosts虚拟主机上的 Symfony 2
【发布时间】:2012-02-16 05:41:23
【问题描述】:

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

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

    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 目录的索引。我做错了什么?

【问题讨论】:

    标签: symfony virtualhost host


    【解决方案1】:

    您正在使用为 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>
    

    试试这个(适应您在 Windows 中的配置),重新启动 Apache,然后再次尝试访问该 URL。

    您将在this cookbook entry 上找到有关 Symfony2 虚拟主机的更多信息。

    【讨论】:

    • 好的,忘记Directory /home/user/www/project/web/&gt; 行中的“/”。现在我得到了web/ 文件夹的索引。我猜需要更改一些内容以引用 app.php。
    • 需要安装 mod_rewrite apache 模块
    • 或添加行 DirectoryIndex app.php
    • Symfony 1.x 在每个演示/教程中都明确列出了 vhost 配置......为什么在 symfony2 文档中普遍缺少与 vhost 相关的所有内容?我错过了什么吗?
    • @herringtown and what about this 开始使用 Symfony2 的首选(也是最简单)的方法是使用 php 的内置 Web 服务器和 php ./app/console server:run 命令。如果您想使用 Web 服务器,您可能知道如何配置它,如果没有,您应该查阅 Web 服务器的文档。
    【解决方案2】:

    symfony 3.4 的 Windows 版本:
    就这么简单:

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

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

    C:\Windows\System32\drivers\etc

    127.0.0.1 fudu.symfony.net
    

    那你去fudu.symfony.net/app_dev.php
    希望对某人有所帮助:)

    【讨论】:

      猜你喜欢
      • 2014-11-19
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2016-02-26
      • 2017-08-03
      • 2015-04-09
      • 2012-08-18
      • 2013-04-21
      相关资源
      最近更新 更多