Symfony2 vhost没有重定向到app.php

时间:2012-09-17 21:27:47

标签: php apache symfony routing

我已经将我的Symfony应用程序推送到我的服务器上(Ubuntu 12.04,blog.dck.me),当我继续时,没问题,但是当你尝试阅读文章时,你有一个404错误,然后如果你先在网址上添加了app.php,它就可以了!

这不是规则问题,我为此文件夹修复了777。 我清除了prod缓存。 我检查了使用php app / console路由器的路由:debug --env = prod,没关系我已经得到了所有路由。 我检查了很多很多我的vhost,当我将DirectoryIndex更改为app_dev.php时,页面打印一个javascript警告,指示“工具栏无法加载”..

我的vhost:

<VirtualHost *:80>
ServerName blog.dck.me
DocumentRoot /var/www/blog/web
DirectoryIndex app.php
<Directory "/var/www/blog/web">
    DirectoryIndex app.php
    Options -Indexes FollowSymLinks SymLinksifOwnerMatch
    AllowOverride All
    Allow from All
    </Directory>
</VirtualHost>

我希望你会有更多的想法。

谢谢。

4 个答案:

答案 0 :(得分:5)

如果www.sitename.com/app.php工作,那么这不是symfony的问题,你的vhost是可以的。 另外.htaccess很好,你不需要设置DirectoryIndex app.php

你检查过mod_rewrite是否已启用?在你的控制台上试试这个:

    apachectl -t -D DUMP_MODULES | grep rewrite

如果您没有结果,则需要在httpd.conf

上添加该行
    LoadModule rewrite_module modules/mod_rewrite.so

答案 1 :(得分:2)

是的,有:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

答案 2 :(得分:1)

经过多次,我创立了解决方案!问题出在我的username.conf(/ etc / apache2 / users)中,在这个文件中缺少关键字“FollowSymLinks”。

<Directory "/Users/DCK/Sites/">
   Options FollowSymlinks Indexes Multiviews
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>

答案 3 :(得分:0)

修改vhost文件后,您是否重启了网络服务器?

例如,对于apache,

sudo apachectl graceful