【问题标题】:Prod routes require `app.php`产品路线需要`app.php`
【发布时间】:2014-10-02 07:58:13
【问题描述】:

\ 之外的所有生产环境中的路由都需要包括app.php。使用app.php,所有站点功能都可用。开发环境按预期运行。环境是 Ubuntu 12.04(在 Win 8 VirtualBox VM 上)、PHP 5.4、Apache 2.2。典型的 Apache 错误日志条目:

[客户端 127.0.0.1] 文件不存在: /var/www/volunteer/web/非营利组织

一些额外的细节:

  • PHP 5.4.31-1+deb.sury.org~precise+1
  • .htaccess 存在于 ...\web
  • mod_rewrite 已启用。
  • Symfony 2.5.3 prod 缓存已被清除(很多次)
  • 已安装资产
  • 资产倾销
  • vhost目录索引包括app.php
  • 试过 AllowOverride all

我错过了什么?

这里是 .htaccess(无 cmets)

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

一条路线:

$ php app/console router:debug --env=prod
[router] Current routes
 Name                              Method   Scheme Host Path                      
...
 nonprofits                        ANY      ANY    ANY  /non-profits  

【问题讨论】:

    标签: php symfony ubuntu mod-rewrite


    【解决方案1】:

    您知道 Apache 是否正在执行 .htaccess 中的内容吗?也许你需要 AllowOverride all?

    【讨论】:

    • 另一个好主意。也试过了。我会把它添加到我的问题中。
    • 事实证明你是对的,只是不是我认为你在说的地方。
    【解决方案2】:

    也许你忘记安装资产了?

    尝试在终端中输入:

    • php 应用程序/控制台资产:安装 --env=production
    • php 应用程序/控制台assetic:dump --env=production

    如果您在生产中,显然添加 --env=production 部分。

    确保您的虚拟主机中也包含以下行:

    DirectoryIndex app.php

    【讨论】:

    • 不错的想法,但已经完成了。我会在我的问题中包括这些。
    【解决方案3】:

    我应该问的问题是,“为什么 Apache 忽略 .htaccess?”答案在Ubuntu forums here 中找到。使用 webmin,我更改了 AllowOverride 指令,现在它显示为:

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

    这只是我一直在寻找的一个级别。

    【讨论】:

      猜你喜欢
      • 2014-06-06
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多