403禁止访问:权限不足以访问图片。

29

我正在使用WordPress构建一个网站的新版本,并尝试添加一些图片以供CSS和HTML引用。奇怪的是,它允许我添加几个图片,如标志等等,但当我尝试添加一些其他图片时,就会显示下面的禁止信息。该图片也不会出现,当我访问图片路径时,就会显示下面的禁止信息。

禁止

您没有权限访问“/v2/wp-content/themes/default/images/contact-yellow-icon.png”服务器上的此内容。此外,尝试使用ErrorDocument处理请求时遇到了404错误。

在我设置的其他几个WP站点中,我从未遇到过这个问题。可能是什么问题?

如果我输入另一张图片的路径,则一切正常(http://www.domain.com/v2/wp-content/themes/default/images/contact-innovation-logo.png),所以不知道为什么无法访问其他图片!?

5个回答

38

您需要检查 /v2/wp-content/themes/default/images/contact-yellow-icon.png 的文件权限。

我认为它们应该是 644 ,以便所有人都可以读取该文件。

或者,您可以检查 /v2/wp-content/themes/default/images/contact-innovation-logo.png 的文件权限。

您可以使用FTP管理器或Shell更改权限。

**由Eric Leroy更新 如果文件权限644不起作用,请更改为755。这是我用来解决问题的方法。 如果您不熟悉在基于*inx和Mac系统上执行此操作的方法,请按以下步骤操作: 打开终端并导航到图像的父文件夹。 键入 sudo chmod -R 775(然后在775后面输入您的图像文件夹的名称) 它会要求您输入密码,然后您的图像将在网站上正常工作。


这太奇怪了。它可以工作,但为什么图标会上传为600,而其他所有内容都是644呢?我没有更改任何设置。我甚至尝试上传另一张图片,它以644的方式上载,但这3个图标文件(与其他所有文件以相同的方式创建)却以600的方式上载。这让我感到困惑!!不过还是谢谢。 - Rob
1
同样的问题也困扰了我,因为某种奇怪的原因上传的文件权限是600。这个问题很容易解决。谢谢。 - mcranston18
如果上传的图片默认的chmod不正确,则可能存在umask问题。您可以向主机提供商解释此问题,他们可以修复它,或者您可以自己处理umask的混乱。 - Archonic
如何在Windows中完成此操作。 - Jenuel Ganawed

11

这也可能是由于使用了热链接保护导致的。因此,如果使用了热链接保护,请确保将您的网站URL添加到白名单中。同时请注意,www.yourdomain.com和yourdomain.com被认为是两个不同的URL。


谢谢您。我从未想过,但这是解决我的问题的方法。 - mrmonroe
我正在使用一个共享主机来托管两个网站,在我的附加域中,图片无法显示。谢谢。 - Leonardo

6

这个问题可能已经被原始用户解决了,但我发现无论如何改变权限或禁用热链接(已经禁用)都不起作用。

对于我而言,无法正常工作的文件是主题CSS和JavaScript目录中的php文件。

我发现对我来说问题出在WordPress为了防止恶意代码注入而创建的.htaccess文件上。添加允许这些文件的规则使它们可以正常工作。


2
特别是在使用wp-security插件时。 - Rogers Sampaio

1
尽管这是一个旧问题,但我想为可能遇到相同问题的任何人添加此内容。
如果您正在使用Cloudflare,则其Scrape Shield也具有热链接保护 - 这就是我的问题来源。

-3

使用这个

sudo chmod -R a+rw /var

然后

<img src="../img/y.png">

4
虽然这个回答可能回答了问题,但您没有留下为什么会起作用的解释。对于将来可能遇到相同问题的访问者来说,这个答案并没有太多价值。请扩展您的答案,包括一些解释。 - oɔɯǝɹ
3
这个建议很危险。让/var目录下的所有文件都可读写会损害系统安全性。你甚至不知道所涉及的文件是否在/var目录下,或者403错误是否是由于文件权限导致的。 - Kenster
1
sudo chmod -R a+rw /var/www/html/文件名 - Sudip Das

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接