我在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').' ›', $sf_request->getReferer()) ?>
在将地址输入栏时,引用失败。
答案 0 :(得分:1)
除非您忽略提到您通常从表单导航到此页面,而且缺少POST数据会扰乱路由;我认为这不是 - 这肯定是浏览器的问题。
您是否在系统的其他浏览器中尝试过此操作?
如果您仍然遇到问题,可以复制routing.yml
的相关部分吗?
答案 1 :(得分:0)
我在实际网站上收到此错误消息,发现问题是一个link_to命令,该命令由数据库中的字段动态填充。
但是该字段为空,因此link_to没有收到任何链接信息。