1

直截了当:
- 我在 symfony 4.0 上创建了新项目:composer create-project symfony/skeleton sf4
- 欢迎页面正在运行
- 我想用https://symfony.com/doc/current/page_creation.html创建我的第一页, 我完全按照他们所说的做了:创建控制器和路由
- 欢迎页面将状态更改为:No route found for "GET /" <-已解决
- 新页面路径找不到文件 - 错误 404

我究竟做错了什么?那是愚蠢的

~src/Controller/SecurityController.php

<?php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

class SecurityController {
    public function logowanie() {
        return new Response(
            '<html><body>Logowanie</body></html>'
        );
    }
}


~config/routes.yaml

index:
    path: /
    controller: App\Controller\MainController::index

logowanie:
    path: /logowanie
    controller: App\Controller\SecurityController::logowanie

编辑:
主页有效 - 谢谢@Cerad

4

3 回答 3

6

我有同样的问题。主页正常工作,但任何其他 url 生成 404,由 apache 提供服务,并且未登录 symfony。

我的错误是虚拟主机配置错误。由于公共目录中不再有 .htaccess,您必须在虚拟主机中配置重定向和重写。这是文档:https ://symfony.com/doc/master/setup/web_server_configuration.html

于 2017-12-09T07:12:20.283 回答
1

在此处输入图像描述

Symfony 4 应用程序上没有真正的路由或带有欢迎模板的控制器,这只是改善用户第一体验的一个技巧。

欢迎响应仅适用于根路径/,并且在添加路由或安装添加了一个的捆绑包(例如 TwigBundle)后,此响应会消失,以及调试模式是否已停用。

甚至,这个响应的状态码仍然是 404 (NOT FOUND)。

于 2017-12-08T20:58:43.143 回答
1

这段代码是 Symfony 4.1 中的解决方案:

composer require symfony/apache-pack

链接后可以使用:

http://localhost/(name-project)/public/index.php/(name of controller)
于 2018-11-09T17:23:10.130 回答