Cakephp 3.x试图查看上传的图像导致缺少控制器错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cakephp 3.x试图查看上传的图像导致缺少控制器错误相关的知识,希望对你有一定的参考价值。

我的图片位于webroot / uploads / profiles / partner_1 / bg_image.jpg

当我尝试显示位于以下位置的上传图片时:uploads / profiles / partner_1 / bg_image.jpg

我收到错误:

错误:找不到UploadsController。

让这一点特别令人沮丧的是,同一个应用程序正在我的本地开发服务器上工作,并且只有在我将它移动到生产时才会失败。我觉得必须有一些简单的解决方案,因为我强调最后期限,所以我只是错过了。

.htaccess文件未修改,但如下:

# Uncomment the following to prevent the httpoxy vulnerability
# See: https://httpoxy.org/
#<IfModule mod_headers.c>
#    RequestHeader unset Proxy
#</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

我尝试将目标文件放在路径下的不同目录中。它似乎是目录深度的一个因素。

我可以在以下文件中找到该文件:/ uploads,/ uploads / profiles,/ img,/ img / uploads,

基本上任何比2个目录更深的webroot都会失败。

答案

重写规则中没有条件排除现有文件。

<IfModule mod_rewrite.c>
     RewriteEngine On
     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteRule ^ index.php [L]
</IfModule>

我不承认你的.htaccess文件是任何以前发布的CakePHP中的任何内容。这并不意味着它是错误的,但所有版本都重写了index.php文件的URL。

以上是关于Cakephp 3.x试图查看上传的图像导致缺少控制器错误的主要内容,如果未能解决你的问题,请参考以下文章

CAKEPHP 3.x - 实体更新时出错 - 即使有值,也会声明缺少字段

如何在 cakephp 的数据库中插入图像名称?

使用 CakePHP 1.3 将图像上传到服务器

php 图像上传者cakephp 3并调整大小

在 cake php 中读取上传文件时缺少控制器

我正在使用 cakephp 4.0。我尝试在 cloudinary 中上传图像(Laminas\Diactoros\UploadedFile)[关闭]