我在一个覆盆子pi上建立了一个LAMP(MP现在不重要)的网站。 该网站应显示位于与index.html所在的目录不同的目录中的图片.index.html位于系统所在的同一张卡上,而图片位于连接到服务器的USB上
这是结构: INDEX的结构:/var/www/newdir1/newdir2/index.html PICTURE的结构:/disk/newdir3/newdir4/picture.png
我使用的文件路径是: img src =" ../../../../ disk / newdir3 / newdir4 / picture.png" ALT ="图像" ID =" someid" /
我尝试添加或删除" ../"即使我确定上面提到的路径是正确的。
我将使用过的用户(假设" demo")添加到www-data组,并将newdir2和newdir4的权限更改为demo:www-data。但这似乎也不是解决方案。
我仍然相信它与权限有关。
我有两个问题: 它真的与许可相关吗? 如果是这样,我如何更改权限以使其工作? 如果没有,它与什么有关? (我知道这是三个问题但回答必须只有两个)
提前问候和致谢,
福克
答案 0 :(得分:0)
Apache(LAMP中的A)通过http服务你的html文件,但它可能只服务于/ var / www目录。要从html引用图像,图像也必须通过http提供,但Apache可能不提供它。
权限也可能是问题,但如果要从html引用它,则需要提供图像。
答案 1 :(得分:0)
Apache只允许一个" root"每个主机的目录(称为DocumentRoot
)。您的设置可能设置为/var/www/
,因此无论权限如何,都尝试访问不可用的任何内容。
对于您的用例,最好的解决方法可能是在您的Apache配置中添加Alias
。您的httpd.conf
文件中包含以下内容:
Alias "/img" "/disk/newdir3/newdir4"
这样你的html就可以包含img src="/img/picture.png"
。
备用方法是将您的图片目录符号链接到/ var / www目录中。有关详细信息,请参阅Apache手册的this section。