On a GitHub Pages site, when you request a regular, non-existent file, it returns 404. However, if the site does not have an index file and if you request the root, it returns 403. Why isn’t it returning 404?
This is a great question! It’s a 403 because the site and URL exist, but 403 errors are defined as: “This error is typically caused by faulty file permissions. The application pool user does not have the correct permissions to access or modify the resource in question.”
So it essentially knows there’s a site there, and is looking for an index.HTML file, but it can’t find it hence it thinks it doesn’t have permission.