我有以下结构:
index.php
/app
/images我为所有不同的页面和诸如此类的东西设置了路由,但当我尝试直接访问图像时,它会尝试将该路由作为我的动态路由之一。
因此,对于上下文,我从一个预先存在的应用程序转换,并维护它的链接/路径,我在索引的末尾有一个完全动态的路由:
$app->get('/{page}', 'HomeController:processRequest');
$app->get('/{page}/{id}', 'ProductController:viewProduct');
$app->get('/{page}/{id}/{show}', 'ProductController:viewProduct');因此,当我在图像标记中执行以下操作时:
https://example.com/images/nav/tinycheck.png这条路由起作用,但它失败了。有没有办法告诉Slim忽略路径中任何带有“image”的内容,只提供图像?
我试着在这里看了一堆其他的帖子,但没有任何东西能让我找到答案。
发布于 2018-10-27 00:38:38
我似乎已经用以下方法解决了这个问题:
$app->get('/images/nav/{data}', function($request, $response, $args) {
$data = $args['data'];
$image = @file_get_contents("/mypath/images/nav/".$data);
if($image === FALSE) {
$handler = $this->notFoundHandler;
return $handler($request, $response);
}
$response->write($image);
return $response->withHeader('Content-Type', FILEINFO_MIME_TYPE);
});https://stackoverflow.com/questions/53012471
复制相似问题