【发布时间】:2016-05-26 11:45:36
【问题描述】:
我在这里找到了关于 Symfony 3 路由问题的所有主题,但它们对我没有帮助。 所以我的问题是我的控制器没有被访问。 这是我的代码:
routing.yaml:
app:
path: /test
defaults: {_controller: AppBundle:Lucky:number}
workspace/test/src/AppBundle/Controller/LuckyController.php:
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class LuckyController extends Controller
{
public function numberAction()
{
$number = rand(0, 1000);
return new Response(
'<html><body>Lucky number: '.$number.'</body></html>'
);
}
}
打电话时:http://test.local/test 我得到一个 404 返回,并且用 bin/console cache:clear 清除缓存没有帮助。
【问题讨论】:
-
尝试运行
bin/console debug:router看看您的路由是否已加载。 -
响应是:... app ANY ANY ANY /test
-
test.local/app_dev.php/test 或 test.local/web/app_dev.php/test 有效吗?您确定网址正确吗?
-
test.local/web/app_dev.php/test -> 一样的404,test.local/app_dev.php/test -> 有效 谢谢大家的帮助,但是为什么我要写路径像那样?为什么我不能只写 test.local/test ????
-
也许您的 .htaccess 文件不起作用。你在用阿帕奇吗?另请注意,来自 symfony 标准的默认 .htaccess 指向 app.php,而不是 app_dev.php。是否也在生产中加载路由?
标签: php routing http-status-code-404 yaml symfony