29

I'm currently building a new version of a site in Wordpress and trying to add a few images as normal to be referenced both by CSS & HTML. Weirdly it's allowed me to add several images like the logo etc yet when I try to add a few more images it's giving the forbidden message below. The image doesn't appear either and the forbidden message below shows when I goto the path of the image.

Forbidden

You don't have permission to access /v2/wp-content/themes/default/images/contact-yellow-icon.png on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

I've never had this problem before out of the several other WP sites I've setup. What could be the problem?

If I put in the path to another image then it works fine (http://www.domain.com/v2/wp-content/themes/default/images/contact-innovation-logo.png) so don't know why it won't allow me to access the other images!?

Rob
  • 6,304
  • 24
  • 83
  • 189

5 Answers5

38

you should check file permissions for /v2/wp-content/themes/default/images/contact-yellow-icon.png

i think they should be 644 so that all can read that file

or you can check file permissions of /v2/wp-content/themes/default/images/contact-innovation-logo.png

you can change permissions with ftp manager or with shell

** updated by Eric Leroy if file permissions 644 does not work, change to 755 that is what I used to fix the issue. If you are not familiar on how to do this on *inx based, and mac systems, here is how: Open terminal and navigate to the parent folder of the images. type sudo chmod -R 775 (then type the name of your images folder after 775 ) it will ask you for your password, then your images will work on your website.

Eric Leroy
  • 1,830
  • 1
  • 18
  • 31
Kirill Bubochkin
  • 5,868
  • 2
  • 31
  • 50
  • That's so odd. It worked but why would the icons be uploaded as 600 when everything else is 644? I haven't changed any settings. I've even tried uploading another image which goes up as 644 yet these 3 icon file (created in the same way as everything else) go up as 600. It has me baffled!! Thanks though. – Rob Feb 07 '12 at 09:46
  • 1
    Thanks as well. Exact same problem with me -- uploaded a file that had 600 file permission for some odd reason. This was a quick fix. – mcranston18 Jun 25 '12 at 02:31
  • If images uploaded aren't the right chmod by default, you have a umask issue. You can explain the problem to your host and they can fix it or you can wade through the mess that is umasks. – Archonic Nov 10 '14 at 22:25
  • how to do this in windows – Jenuel Ganawed Oct 04 '21 at 11:53
11

This can also be caused by using hotlinking protection. So if hotlinking protection is used, make sure that the URL for your website is added to the white list. Also keep in mind that www.yourdomain.com and yourdomain.com are considered two different URLs.

Casey Gibson
  • 2,577
  • 1
  • 20
  • 23
6

The question may have been solved for the original user, but I found no amount changing permissions or disabling hotlinking (was already disabled) was working for me.

For me the files not working were php files in the themes CSS and JavaScript directories.

I found that for me the problem was a .htaccess file that WordPress created for a LOCKDOWN to prevent malicious code injections. Adding rules to allow these files allowed them to work.

Chris
  • 1,118
  • 8
  • 24
1

Although this is an old issue, I would like to add this for anyone who might visiting with the same problem.

If you're using cloudflare, their scrape shield also has hotlink protection - this was where my problem originated.

binarystarr
  • 157
  • 2
  • 8
-3

Use this

sudo chmod -R a+rw /var

and then

<img src="../img/y.png">
Dharmesh Porwal
  • 1,406
  • 2
  • 12
  • 21
Sudip Das
  • 1,178
  • 1
  • 9
  • 24
  • 4
    While this may answer the question, you did not leave behind any explanation as to why this works. This answer does not add much value for later visitors that may have the same problem. Please expand your answer to include some explanation. – oɔɯǝɹ Jan 23 '15 at 10:50
  • 3
    This advice is dangerous. Making everything within /var world-readable and writable compromises system security. You don't even know whether the files in question are in /var, or whether the 403 error is due to file permissions. – Kenster Jan 23 '15 at 10:54
  • 1
    sudo chmod -R a+rw /var/www/html/name of the file – Sudip Das Jan 31 '15 at 11:09