【问题标题】:How to set correctly my routes files (url) with symfony2.5 with WAMP server如何使用 symfony2.5 和 WAMP 服务器正确设置我的路由文件(url)
【发布时间】:2014-12-16 21:43:28
【问题描述】:

我在我的 Symfony2.5 项目中设置了我的路由文件。但是当我使用 Wamp 服务器(Windows 上的 localhost)启动我的应用程序时遇到了这个问题:

No route found for "GET /" (from "http://localhost/girSymfony/web/")
404 Not Found - NotFoundHttpException
1 linked Exception: ResourceNotFoundException »

这是在 WampServer 上启动应用程序时使用的 url:http://localhost/girSymfony/web/

当我尝试使用这个 URL http://localhost/girSymfony/web/时,我遇到了上面提到的 404 错误。

但如果我尝试使用这个网址:http://localhost/girSymfony/web/gir/homepage 它可以工作;我希望应用程序到达并直接在此 url 上运行。我该怎么做?

这是我的Gir/WelcomeBundle/Ressource/config/routing.yml 文件代码:

girWelcomeBundle_HomePage:
  pattern:  /homepage
  defaults: { _controller: GirWelcomeBundle:HomePage:index }
  requirements:
    methods: GET
    schemes:  https

这是我的app/config/routing.yml 文件代码:

GirWelcomeBundle:
    resource: "@GirWelcomeBundle/Resources/config/routing.yml"
    prefix:   /gir

这是我的 Gir/WelcomeBundle/Controller/HomePageController.php 的控制器代码:

<?php

namespace Gir\WelcomeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

    class HomePageController extends Controller
    {

        public function indexAction()
        {
          return $this->render('GirWelcomeBundle:HomePage:index.html.twig');
        }
     }

如您所见,我设置了路由文件,但由于出现 404 错误,我只是忘记了一些东西。 我认为我的应用程序没有使用正确的 direction 和正确的 URL ,我该如何解决?

新编辑: 请注意,当我运行我的应用程序时,我已经设置了 WAMP 和 Symfony,我直接到达 主页索引

【问题讨论】:

  • 当您使用前缀时,您的默认路由是(开发环境)localhost/girSymfony/web/app_dev.php/gir 或 localhost/girSymfony/web/app_dev.php/gir/homepage(注意末尾的“/”...)
  • 即使我使用或不使用“/”,我也有同样的错误。事实上,如果我删除gir/WelcomeBundle/Ressource/config/routing.yml 中的/homepage 和app/config/routing.yml 中的/gir,我的应用程序将直接进入索引HomePage。我想通过正确设置 URL 来做同样的事情。
  • 您可以尝试删除https要求吗? (我可以看到 { _controller: girWelcomeBundle:HomePage:index } 这个包的名称不正确 (GirWelcomeBundle)
  • 对不起,我编辑这篇文章时出错了,但在我的项目中名称是正确的。即使我删除了 https 要求,也没有任何改变。
  • 你知道你有两个 routings.yml(一个在 app/config 中,另一个在你的包内的 config 文件夹中)。此外,您的 routing.yml 中“url”的顺序非常重要,请注意它。你可以把整个文件? (app/routing.yml、bundle/resource/config/routing.yml 和控制器)

标签: symfony url routes http-status-code-404 wampserver


【解决方案1】:

你在开发环境中,你应该使用这样的 url

示例: 注册:

pattern:  /registration
    defaults: { _controller: UserBundle:Registration:registration }
http://localhost/girSymfony/web/app_dev.php/registration

【讨论】:

  • 您能正确解释一下开发环境和产品环境之间的区别吗?如果我删除gir/WelcomeBundle/Ressource/config/routing.yml 中的/homepage 和app/config/routing.yml 中的/gir,我的应用程序将直接进入索引HomePage。我想通过正确设置 URL 来做同样的事情。
  • 嘿,我们在开发环境的 url 中添加 app_dev.php。
  • 我知道我将 app_dev.php 用于开发环境,我设置了 Wamp 以便工作。我搜索差异,但在理论上。谢谢。
猜你喜欢
  • 2012-05-01
  • 1970-01-01
  • 2018-03-25
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
相关资源
最近更新 更多