Image 服务器不提供图像
目前我有一个在本地运行良好的应用程序。将其上载到服务器后,将不会加载任何图像。链接被提供到正确的地址,但是它们是404。我的图像位于子域根目录下的/assets/images/中。我的链接结构如下:Image 服务器不提供图像,image,apache,.htaccess,codeigniter,Image,Apache,.htaccess,Codeigniter,目前我有一个在本地运行良好的应用程序。将其上载到服务器后,将不会加载任何图像。链接被提供到正确的地址,但是它们是404。我的图像位于子域根目录下的/assets/images/中。我的链接结构如下: http://sub.example.com/assets/images/filename.png 我知道它们就在那里,因为我可以从cpanel和ftp中看到它们。资产目录中的所有其他文件夹和文件在服务器上正确加载(js、css、视频、字体等)。甚至css文件在通过相对路径请求图像时也会出现404
http://sub.example.com/assets/images/filename.png
我知道它们就在那里,因为我可以从cpanel和ftp中看到它们。资产目录中的所有其他文件夹和文件在服务器上正确加载(js、css、视频、字体等)。甚至css文件在通过相对路径请求图像时也会出现404错误
../images/image.png
我想这可能是一个文件权限错误。我检查了assets和assets/images/,这两个文件夹都列为755,以获取正确的权限。我在images文件夹(包括它的子文件夹和文件)上试了一下777,只是想看看,但没有什么不同
根目录中的my.htaccess如下所示。它当前正确路由我的应用程序的其余部分
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
在阅读了其他一些关于这个主题的文章后,我去检查是否只是png文件,我发现svg、jpg、GIF也没有加载
在这一点上,我有点不知道下一步该在哪里尝试。只是出于好奇。如果将.htaccess文件中的所有内容替换为以下内容,是否会遇到相同的问题:
RewriteEngine on
RewriteCond $1 !^(index\.php|application|assets|favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ /full/path/www/index.php/$1 [L]
将/full/path/www/
替换为根文件夹的绝对路径名
我将此方法用于CI 2和3应用程序,在我的家庭服务器和共享主机上工作 只是出于好奇。如果将.htaccess文件中的所有内容替换为以下内容,是否会遇到相同的问题:
RewriteEngine on
RewriteCond $1 !^(index\.php|application|assets|favicon\.ico|robots\.txt)
RewriteRule ^(.*)$ /full/path/www/index.php/$1 [L]
将/full/path/www/
替换为根文件夹的绝对路径名
我将此方法用于CI 2和3应用程序,在我的家庭服务器和共享主机上工作 是的,可能是权限限制。在my.htaccess中,我放置了要排除的文件夹名称:
RewriteCond$1^(index\.php | application | uploads | assets | favicon\.ico | robots\.txt)
@Michael K感谢您的建议。我试过这个。还有RewriteCond$1^(索引\.php |资产|资产/图像| favicon \.ico |机器人\.txt)
这两个方面都不走运。看看您如何调用这些资产会很有趣。在网页上:assets/images/icon.svg“/>
解析为-
此外,像assets/css/styles.css这样的东西具有真实路径,例如。/images/img.png
也无法解析。正如我在OP中提到的,assets/js、assets/videos/、assets/font等都可以毫无问题地加载文件。这就是为什么我有点迷茫的原因。你提到“文件权限”-但文件本身的烫发怎么办(你似乎只提到目录烫发)?主人呢?你看到的是什么“类型”的404?这是Apache 404文档还是应用程序生成的404文档?是的,可能是权限限制。在my.htaccess中,我放置了要排除的文件夹名称:RewriteCond$1^(index\.php | application | uploads | assets | favicon\.ico | robots\.txt)
@Michael K感谢您的建议。我试过这个。还有RewriteCond$1^(索引\.php |资产|资产/图像| favicon \.ico |机器人\.txt)
这两个方面都不走运。看看您如何调用这些资产会很有趣。在网页上:assets/images/icon.svg“/>
解析为-
此外,像assets/css/styles.css这样的东西具有真实路径,例如。/images/img.png
也无法解析。正如我在OP中提到的,assets/js、assets/videos/、assets/font等都可以毫无问题地加载文件。这就是为什么我有点迷茫的原因。你提到“文件权限”-但文件本身的烫发怎么办(你似乎只提到目录烫发)?主人呢?你看到的是什么“类型”的404?这是Apache404文档还是应用程序生成的404文档?