Silex动态路由
问题描述:
我的应用程序使用Silex框架在PHP Symfony上运行。Silex动态路由
v/prx/test/inttest/images/23464a230e641ca3929826a1548164cf/img/Tp31234564789.png
该应用程序包含以下路线,在这里:
v -> {v}, test -> {cmr}, inttest -> {page}, images/...png -> {path}:
$app->get('/{v}/prx/{cmr}/{page}/{path}', array($container[ Controllers::CTRL], 'someProxyAction'));
但是应用程序返回一个错误:
ERROR No route found for "GET /v/prx...
的问题是,如果应用程序是被以下链接测试路线以正确的方式书写。
答
它正在搜索路径v/prx/test/inttest/images,但是您给出了更多路径描述,因此路由器无法找到此路由。你应该编码这个字符串,因为斜杠!
images/23464a230e641ca3929826a1548164cf/img/Tp31234564789.png
尝试此链接
v/prx/test/inttest/images%2F23464a230e641ca3929826a1548164cf%2Fimg%2FTp31234564789.png
答
有你试图做这样的事情?
$app->get('/{v}/prx/{cmr}/{page}/{path}', array($container[ Controllers::CTRL], 'someProxyAction'))->assert('path', '.*');
我认为,断言应该帮助告诉解析器接受连/作为参数
是否有申请的路线此链接方式的一部分?而不是改变链接本身? – user3099909
我不这么认为。因为路由器只是做他的工作,他不会承认如果这个参数或路径 –
你在哪里建立这个链接?你能提供一个代码生成这个链接吗? –