Symfony:奇怪的路由问题

时间:2010-04-02 18:06:08

标签: url parameters routing symfony1 request

我在symfony中有以下网址(具体信息并不重要):

/frontend_dev.php/something/25/apple

...和路由规则:

/something/:id/:word

点击进入网站时,URL工作正常,但在我输入网址时却没有。相反,symfony说:

Unable to find a matching route to generate url for params "NULL".

奇怪的是我可以导航到这个页面并且它可以工作,但是当在浏览器地址栏中按Enter键时,它就不再找到它了。

关于这类事情的原因可能是什么?

我还应该补充说,之前在地址栏中键入的URL工作正常,但现在已经不行了,而且我不确定可能会干扰它的是什么。

提前致谢。

更新

确切的路由规则:

profile:
  url:    /profile/:id/:un
  param:  {module: profile, action: profile}

更新

调试工具栏日志(突出部分):

Unable to find a matching route to generate url for params "NULL". Toggle debug stack
#4 » in sfException::outputStackTrace() from SF_ROOT_DIR\lib\vendor\symfony\lib\exception\sfException.class.php line 110
#3 » in sfException->printStackTrace() from SF_ROOT_DIR\lib\vendor\symfony\lib\controller\sfFrontWebController.class.php line 52
#2 » in sfFrontWebController->dispatch() from SF_ROOT_DIR\lib\vendor\symfony\lib\util\sfContext.class.php line 170
#1 » in sfContext->dispatch() from SF_ROOT_DIR\web\frontend_dev.php line 13

解决:

发现它......

我在失败页面的代码中有这个:

<?php echo link_to(__('Back to previous page').' &#8250;', $sf_request->getReferer()) ?>

在将地址输入栏时,引用失败。

2 个答案:

答案 0 :(得分:1)

除非您忽略提到您通常从表单导航到此页面,而且缺少POST数据会扰乱路由;我认为这不是 - 这肯定是浏览器的问题。

您是否在系统的其他浏览器中尝试过此操作?

如果您仍然遇到问题,可以复制routing.yml的相关部分吗?

答案 1 :(得分:0)

我在实际网站上收到此错误消息,发现问题是一个link_to命令,该命令由数据库中的字段动态填充。

但是该字段为空,因此link_to没有收到任何链接信息。