所以我一直在学习Symfony,而且我一直在使用app_dev.php来查看我的网页,这很好。
不小心,我使用了app.php,这给了我一个404(见下面的完整错误信息)。
我的配置文件仍未更改。我做的唯一改变是允许在app_dev.php上进行远程访问。我注释掉了检查HTTP客户端是否来自localhost的部分。只是因为我没有在我的Mac上设置开发环境,而且我使用的是开发/测试设备。
任何想法我可能错了?谢谢! :)
PS。我可以提供更多我的配置文件片段,告诉我哪一个。
我的控制器:
<?php
// src/AppBundle/Controller/DirectoryController.php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class DirectoryController extends Controller {
/**
* @Route("/directory/view/{labs}", defaults={"labs" = "*"})
*/
public function viewAction($labs) {
return $this->render(
"directory/view.html.twig"
);
}
}
我的枝条文件:
{% extends 'base.html.twig' %}
{% block title %}My cool blog posts{% endblock %}
{% block body %}
<h2 class="entity">TEST</h2>
{% endblock %}
错误消息:
Oops! An Error Occurred
The server returned a "404 Not Found".
Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.
答案 0 :(得分:3)
您需要预热缓存以便它获取新路由:app/console cache:clear --env=prod
。 Symfony会自动为dev环境(app_dev.php
)执行此操作,但由于性能影响,它不会在生产环境中执行此操作。
答案 1 :(得分:0)
您确定.htaccess
文件的DirectoryIndex
设置为app.php
吗?如果是这种情况,您尝试打开的网址不必包含该网址。