Apache 不显示图像,无论文件类型如何(jpg、png、gif)。error.log 中没有条目,access.log 没有显示任何异常。权限正确,当我尝试直接访问 img url:“hostname.domain.domain/xxx.jpg”时,我没有收到“禁止”消息,只是没有显示任何内容,在使用多个浏览器的 WINDOWS 客户端和使用多个浏览器的 Mac 上也是如此。在本地 LAN 上,问题与使用远程互联网连接访问站点相同。
阅读有关 ubuntu 12.x 与 apache 的类似问题,其中禁用“EnableSendFile”可修复与此类似的问题,但根据 Apache 文档,此功能默认是禁用的,可以通过 apache2.conf 文件启用。
还有人遇到这个问题吗?这不是生产服务器,只是想了解有关 Linux/Apache 平台上的 Web 托管的更多信息。
我已经应用以下命令来确保其没有权限:
sudo chmod -R 755 /var
/var/www/html/ {此处托管的网络文件}
drwxr-xr-x 13 root root 4096 Jun 11 12:06 var
drwxr-xr-x 3 root root 4096 Jun 11 12:02 www
drwxr-xr-x 3 root root 4096 Jun 11 21:50 html
用户@域名:/$ ls -la /var/www/html
drwxr-xr-x 3 root root 4096 Jun 11 21:50 .
drwxr-xr-x 3 root root 4096 Jun 11 12:02 ..
-rwxr-xr-x 1 root root 70 Jun 11 21:50 1.jpg
-rwxr-xr-x 1 root root 135 Jun 10 16:25 cat.jpg
-rwxr-xr-x 1 root root 113 Jun 10 16:26 frog.jpg
-rwxr-xr-x 1 root root 5 Jun 10 16:51 frog.png
-rwxr-xr-x 1 root root 11510 Jun 9 21:10 index.html
-rwxr-xr-x 1 root root 574 Jun 11 23:34 index.php
index.php 代码:(计划后续添加 PHP 代码)
< img src="frog.png" alt="FROG" >
访问日志:
12/Jun/2016:18:46:12 -0500] "GET /frog.png HTTP/1.1" 200 284 "http://hostname.domain/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36"
测试:hostname.domain/frog.png(frog.png 位于 /var/www/html;在网络浏览器中测试)
当我从 html 目录中删除特定文件“frog.png”时,网络浏览器收到错误:
未找到
该服务器上未找到所请求的 URL /frog.png。
尝试对 frog.jpg 进行同样的测试,但没有成功。 当我将文件放回 /var/www/html 时,我不再收到上述错误消息,但图像也没有出现,我在网页的左上角看到一个小框。在 Chrome、fireFox、IE 和 Safari 上测试都提供了相同的结果。
答案1
我在 Ubuntu 16.10 上安装了 apache2。启动 apache 时,请确保使用 apache2ctl 命令,而不是 apache2 命令。Ubuntu 对 apache 进行了大量自定义,因此请尝试使用sudo apache2ctl start
答案2
道格,谢谢你让我仔细检查我的 img 文件!这就是问题所在,当我使用 tftp 从 Windows 机器传输我的图像文件时,我没有使用“-i”,出于某种原因,它没有将完整的文件发送到服务器。我将 68kb 的完整 cat.jpg 文件传输到服务器,现在它运行得很好!谢谢!