php - 请求。错误 : Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET/"

标签 php symfony

我已经安装了 Symfony2,修复了文件权限后,我可以通过将浏览器指向以下地址来访问开发环境:

http://localhost/app_dev.php

但是,当我尝试通过将浏览器指向 http://localhost 来访问生产环境时,出现以下异常(来自 app/logs/prod.log):

[2012-08-13 11:30:03] request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /" (uncaught exc eption) at /path/to/frameworks/Symfony2/app/cache/prod/classes.php line 4584 [] []

然后我从命令行检查了 prod 环境的可用路由。这是调查的结果。

root@yourbox:~/path/to/frameworks/Symfony2$ php app/console router:debug -e=prod [router] Current routes Name Method Pattern

令人难以置信的是,它表明没有为该环境定义路由(我不相信错误消息 - 它本质上说的是同一件事)。

所以,我的结论是:开箱即用的 Symfony2 安装,生产环境没有默认路由 - 这是真的吗,还是我哪里弄错了?

更重要的是,我该如何解决这个问题?在 SF1.x 中,可以直接从开发切换到生产,反之亦然。例如,如何在生产环境中查看 AcmeDemo 应用程序。 ?

[[更新]]

根据 thecatontheflat 的反馈,我在 routing.yml 文件中添加了一个简单的测试路由。 app/config/routing.yml 的内容现在是:

_welcome2:
    pattern:  /test
    defaults: { _controller: AcmeDemoBundle:Welcome:index }

当我在浏览器中尝试 http://localhost/test 时,我得到了同样的 404 错误。当我在控制台调试可用的路由时,我得到以下输出:

root@yourbox:~/path/to/frameworks/Symfony2$ php app/console router:debug -e=prod
[router] Current routes
Name      Method Pattern
_welcome2 ANY    /test

最佳答案

我遇到了完全一样的问题!!

Symfony2 有两个通用的路由文件:

app/config/routing.yml and app/config/routing_dev.yml

但是,它在每个包中也有一个特定于包的路由文件。标准程序是在 bundle routing.yml 文件中定义所有 bundle 路由,然后通过添加以下内容从主 routing.yml 文件中引用它:

YourbundlenameMainBundle:

resource: "@YourbundlenameMainBundle/Resources/config/routing.yml"

prefix:   /

这就是我所拥有的,但我仍然遇到错误。但是后来我更仔细地阅读了错误……没有找到 GET/.... 的路由。然后我检查了我的 routing_dev.yml 文件,当然它有一个用于/来自 Acme 演示包 _welcome 路由的路由。这就是为什么它适用于开发版本而不适用于生产版本!

解决方法:

通过添加以下内容,将/的路由添加到您的 routing.yml 全局文件或您的 routing.yml 包文件:

_welcome:

pattern:  /

defaults: { _controller: YourbundlenameMainBundle:Default:index }

如果您的欢迎页面不是索引,您可以将索引更改为其他路由

关于php - 请求。错误 : Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET/",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932756/

相关文章:

php - 链接有效时 wordpress 按钮不起作用

PHP Oist 从一个下拉菜单中将两个变量放入 Mysql

php - MYSQL - 选择具有最低值和其他条件的行,或具有最高值的回退

php - Doctrine -OneToMany关系,所有结果行均未在对象中提取

Symfony2 phpunit在不同环境下运行测试

php - 将用户信息获取到登录 Android 上的共享首选项

php - Symfony2 环境特定的 robots.txt

php - Controller 属性不能包含非标量\/非空值

symfony - FOSOAuthServerBundle access_token 生命周期

php - Symfony 4 一些用户无法登录,csrf token 无效,可能是 php session 问题,没有产生错误