Silex动态路由

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 
+0

是否有申请的路线此链接方式的一部分?而不是改变链接本身? – user3099909

+0

我不这么认为。因为路由器只是做他的工作,他不会承认如果这个参数或路径 –

+0

你在哪里建立这个链接?你能提供一个代码生成这个链接吗? –

有你试图做这样的事情?

$app->get('/{v}/prx/{cmr}/{page}/{path}', array($container[ Controllers::CTRL], 'someProxyAction'))->assert('path', '.*');

我认为,断言应该帮助告诉解析器接受连/作为参数