我刚刚创建了一个新的(测试)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 进行更改是对的吗?如果是这样,是否有一个"标准"的代码部分用于将 apache 与 symfony 一起使用?
编辑:我已经更新了我的apache2.conf
(对于其他人来说,如果不是在我理解的 ubuntu 上,这将是httpd.conf
的),如下所示:
<Directory /home/user/Project/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
没记错的话,.htaccess
alredy 将DirectoryIndex
定义为app.php
。但是,您的 Apache 配置文件httpd.conf
可能会阻止覆盖。
确保.htaccess
中有该行,并检查httpd.conf
中AllowOverride
(文档)的值。尝试将AllowOverride
设置为All
,看看是否有效。