生产路线需要`app.php`

生产路线需要`app.php`,php,symfony,ubuntu,mod-rewrite,Php,Symfony,Ubuntu,Mod Rewrite,prod环境中除\之外的所有路由都需要包含app.php。使用app.php所有站点功能都可用。开发环境的行为符合预期。环境是Ubuntu 12.04(在Win 8 VirtualBox VM上)、PHP5.4、Apache 2.2。典型的Apache错误日志条目: [client 127.0.0.1]文件不存在: /var/www/志愿者/web/非营利组织 其他一些细节: PHP5.4.31-1+deb.sury.org~precise+1 .htaccess存在于..\web mod_r

prod环境中除
\
之外的所有路由都需要包含
app.php
。使用
app.php
所有站点功能都可用。开发环境的行为符合预期。环境是Ubuntu 12.04(在Win 8 VirtualBox VM上)、PHP5.4、Apache 2.2。典型的Apache错误日志条目:

[client 127.0.0.1]文件不存在: /var/www/志愿者/web/非营利组织

其他一些细节:

  • PHP5.4.31-1+deb.sury.org~precise+1
  • .htaccess
    存在于
    ..\web
  • mod_rewrite
    已启用
  • Symfony 2.5.3产品缓存已清除(多次)
  • 安装的资产
  • 资产倾销
  • vhost目录索引包括
    app.php
  • 我试过了
我错过了什么

下面是.htaccess(sans注释)
也许你忘记安装资产了

请尝试键入您的终端:

  • php应用程序/控制台资产:安装--env=production
  • php应用程序/控制台断言:dump--env=production
如果您正在生产中,显然要添加--env=生产部件

确保vhost中也有以下行:

DirectoryIndex app.php


您知道Apache是否正在执行.htaccess中的内容吗?也许你需要所有的超车

我应该问的问题是,“为什么Apache忽略了.htaccess?”答案可以在中找到。使用webmin,我更改了
AllowOverride
指令,因此现在它的内容如下:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

选项索引跟随符号链接多视图
允许超越所有
命令允许,拒绝
通融

这比我一直在寻找的地方高了一层。

想法不错,但已经完成了。我会把这些都包括在我的问题里。另一个好主意。我也试过了。我会在我的问题中补充这一点。结果证明你是对的,只是我没想到你在说什么。
$ php app/console router:debug --env=prod
[router] Current routes
 Name                              Method   Scheme Host Path                      
...
 nonprofits                        ANY      ANY    ANY  /non-profits  
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>