apache 服务器上的新 Symfony 项目需要 mod_rewrite 代码?

new Symfony project on apache server needs mod_rewrite code?

我刚刚创建了一个新的(测试)symfony 项目并将我的 apache webroot 设置为 /home/user/project/(不确定是否应该 /home/user/project/web/?)

但是,根据我对此处灯泡部分的了解:http://symfony.com/doc/current/book/page_creation.html#the-web-directory - 没有发生任何内部重新路由。因此,这不起作用:

http://localhost/random/10

但这些确实有效:

http://localhost/app_dev.php/random/10
http://localhost/app.php/random/10

仔细检查,如果我启动内部 PHP 服务器 (php app/console server:start),那么一切都会正确地重新路由 - 这确实有效:

http://localhost:8000/random/10

我认为我需要对 .htaccess 进行更改是否正确?如果是这样,是否有 'standard' 部分代码用于将 apache 与 symfony 一起使用?

编辑: 我已经更新了我的 apache2.conf(如果不是我理解的 ubuntu,其他人应该是 httpd.conf)如下:

<Directory /home/user/Project/>
    Options Indexes FollowSymLinks
    AllowOverride All 
    Require all granted
</Directory>

如果我没记错的话,.htaccess 已经将 DirectoryIndex 定义为 app.php。但是,您的 Apache 配置文件 httpd.conf 可能会阻止覆盖。

确保您的 .htaccess 中有该行,并检查 httpd.confAllowOverride (docs) 的值。尝试将 AllowOverride 设置为 All 并查看是否有效。