【问题标题】:Symfony: the route "xxx" does not existSymfony:路由“xxx”不存在
【发布时间】:2011-03-12 16:31:40
【问题描述】:

我将我的项目上传到服务器。在本地一切正常,但在服务器中,一旦单击链接或尝试手动操作(以模块/模板方式编写方向),我收到错误“路由“xxx”不存在。”

请帮帮我,我没有想法。

谢谢!

---Routing.yml---

默认索引: 网址:/:模块 参数:{动作:索引}

默认值: url: /:module/:action/*

---错误信息---

有关错误的更多信息: 500 |内部服务器错误 | sfConfigurationException

路径“xxx”不存在。

SF_SYMFONY_LIB_DIR/routing/sfPatternRouting.class.php 第 313 行 () 处的堆栈跟踪... // 命名路由

  if (!isset($this->routes[$name]))
  {
    throw new sfConfigurationException(sprintf('The route "%s" does not exist.', $name));
  }

  $route = $this->routes[$name];

  $this->ensureDefaultParametersAreSet();

【问题讨论】:

  • 你使用哪个版本的 Symfony? 1.4 ?
  • 您是否尝试过清除服务器上的 Symfony 缓存?您能否将routing.yml 文件的内容复制粘贴到您的问题中?也检查一下:oldforum.symfony-project.org/index.php/m/37238
  • 听起来需要 symfony cc。
  • 除了 routing.yml 之外,了解您实际请求的 URL 以及 Symfony 告诉您的实际路由不存在会非常有帮助。
  • @Frosty:感谢您的 cmets!我正在使用 symfony 1.4 并多次尝试清除服务器上的缓存。我复制了问题中routing.yml的内容。

标签: symfony1 symfony-1.4


【解决方案1】:

在你的作品中清除 symfony 缓存:

./symfony cc

【讨论】:

  • 我做了几次,没有效果。
  • 解决了!这是一件愚蠢的事情。我有一个用大写字母拼写的模块名称,它必须是驼峰式。
【解决方案2】:

请验证routing.yml 文件。如果您没有为该链接定义任何规则,则会显示致命错误:

例如。 :

link_to('Registration','user_registration')

在 rounting.yml 中:

user_registration:
  url: /register/userRegistration.html
  param: {module: register, action: userRegistration}

【讨论】:

    【解决方案3】:

    您可以在页面中的任何位置使用 link_to 标记,并且可以在链接 url 值中提供 xxx。必须提供模块/操作模式或在 routing.yml 文件中添加 xxx 路由规则

    【讨论】:

      猜你喜欢
      • 2013-04-08
      • 2021-04-05
      • 2017-12-29
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 2016-07-03
      • 2012-03-10
      相关资源
      最近更新 更多