2017-04-08 81 views
1

目前我有一个应用程序,在当地正常工作。将其上传到服务器后,将无法加载任何图像。这些链接被提供给正确的地址,但是它们是404。我的图像位于子域根目录的/ assets/images /中。我的链接是为结构化:服务器没有提供图像

http://sub.example.com/assets/images/filename.png 

我知道他们实际上是有,我可以从两个cPanel和FTP中看到它们。资产目录中的所有其他文件夹和文件在服务器上正确加载js,css,视频,字体等)。即使css文件通过相对路径请求图像时也会遇到404错误。

../images/image.png 

我认为这可能是文件权限错误。我检查了资产和assets/images /,并且这两个文件夹都被列为755,这是正确的权限。我简单地尝试了777上的图像文件夹,包括其子文件夹和文件,只是看看,但没有任何区别。

我在.htaccess中的根目录如下。目前它正确地路由我的应用程序的其余部分。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

读成围绕这一话题的一些其他职位后,我去检查,看看它是否只是PNG文件,我发现,SVG,JPG,GIF格式也不会加载。

在这一点上,我有点失落,试图尝试下一步。

+1

是的,可能是权限限制。在我的.htaccess我把文件夹的名字排除在外:'RewriteCond $ 1!^(index \ .php | application | uploads | assets | favicon \ .ico | robots \ .txt)' –

+0

@Michael K谢谢你的建议。我试过这个。以及 'RewriteCond $ 1!^(index \ .php | assets | assets/images | favicon \ .ico | robots \ .txt)' 没有任何运气。 – user1452407

+0

看到你如何要求这些资产会很有趣。 – DFriend

回答

0

只是出于好奇。

RewriteEngine on 
RewriteCond $1 !^(index\.php|application|assets|favicon\.ico|robots\.txt) 
RewriteRule ^(.*)$ /full/path/www/index.php/$1 [L] 

更换/full/path/www/与绝对路径到你的根文件夹:你,如果你有以下替换所有内容.htaccess文件得到了同样的问题。

我将这种方法用于CI 2和3应用程序,在我的主服务器以及共享主机上工作。

+0

这实际上解决了我的问题,谢谢。 – user1452407

相关问题