我已经将我的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>
我希望你会有更多的想法。
谢谢。
答案 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