【发布时间】: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