2

我已经在我的服务器(Ubuntu 12.04,blog.dck.me)上推送了我的 Symfony 应用程序,当我继续时,没问题,但是当您尝试阅读一篇文章时,您会遇到 404 错误,然后如果您添加应用程序.php 首先是 URL,它可以工作!

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

我的虚拟主机:

<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

4 回答 4

4

如果 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
于 2012-09-18T22:42:01.950 回答
1

就在这里 :

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
于 2012-09-18T21:09:32.533 回答
0

修改你的虚拟主机文件后,你有没有重新启动你的网络服务器?

例如,对于 apache,

sudo apachectl graceful
于 2012-09-17T22:52:27.600 回答
0

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

<Directory "/Users/DCK/Sites/">
   Options FollowSymlinks Indexes Multiviews
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
于 2013-03-01T22:49:42.113 回答