【问题标题】:How to display an image on a HTML webpage which is outside web root directory如何在 Web 根目录之外的 HTML 网页上显示图像
【发布时间】:2017-10-09 20:06:37
【问题描述】:

我对 web 服务器、php 等非常陌生。我在 ubuntu 12.04 LTS 上使用 Apache 2.2.22 构建了一个小型 web 服务器。该网页仅供本地访问,可以由连接到接入点的其他设备查看(无安全性)。文档根目录是/var/www/,我编辑了默认的index.html文件来显示我想看的内容。

我在这里尝试显示/home/myname/somedir/ 中的几张图片,但未显示图片。我无法将图像保存到 Web 文档根目录,因为图像正在由另一个程序定期更新。我如何访问图像并显示它们。

到目前为止我尝试过的事情:

  1. 符号/软链接
  2. 别名:将此添加到默认配置文件/etc/apache2/sites-available/default

    Alias /images/ "/home/myname/somedir/" <Directory "/home/myna-me/somedir/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory>

  3. php 脚本:我在 php 脚本中使用了以下代码 `cam_images.php'

我在 hmtl 文件中将它们称为 /cam_images.php?file=myfile.jpg 引用自 here

到目前为止,它们都没有奏效。我不确定我哪里出错了。我也在 php 中尝试过readfile(),但该函数无法打开该文件。我什至尝试将 DocumentRoot 移动到与图像相同的目录,但网页没有显示

(you don't have permission to access / of the server)

感谢任何帮助。

谢谢

【问题讨论】:

  • 您可以使用.htaccess

标签: php html apache webserver


【解决方案1】:

请检查 PHP 用户是否有权访问 /home/myname/somedir/。通常只有用户本身可以访问/home/user,所以很可能这就是原因。

修复权限:

chmod o+rx /home/myname
chmod -R o+rx /gome/myname/somedir

【讨论】:

  • @Andiy:谢谢。我想这会奏效..但我启用了使用的目录并添加了一个 public_html 目录并让它工作..再次感谢您。
猜你喜欢
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-16
  • 2013-11-27
  • 1970-01-01
  • 2017-07-29
  • 1970-01-01
  • 2018-02-04
相关资源
最近更新 更多