Understanding HTTP Error Codes and other website errors
When attempting to access a website or other online resource you might be presented with an error page in place of the expected response. This will likely be one of a few HTTP error codes you may encounter.
This guide will cover some of the more common website HTTP error codes and provide an explanation of the possible causes and any steps that you can take to resolve the error.
Let’s get started…
- 404 Not Found Error
- 403 Forbidden Error
- 500 Internal Server Error
- 503 Service Unavailable
- Other Website Errors
404 Not Found Error
This is one of the more common HTTP error codes. It simply means that the requested page is not found.
It could occur when you’ve typed a URL incorrectly when the location of a page has changed. Or when the page or content that you’re trying to access no longer exists on the server.
For WordPress based sites, this error can also occur as a result of problems with permalink settings for the site. Try re-saving the permalink settings in the settings>permalinks section of the WordPress dashboard if you start to encounter 404 errors when accessing sub-pages of the site.
403 Forbidden Error
The 403 Forbidden error indicates that your access to the requested page is restricted. This error can be returned for a number of different reasons, we’ll cover some of these below.
Directory has no index page
If you create a folder within the webspace for your domain that has no index page then a 403 forbidden error would be returned. If you try to access the URL for the folder without including the filename of a specific file within the directory.
It’s possible to customise the default index filename for a folder or to enable listing of directory contents for folders without an index file; this requires uploading a .htaccess file to the folder to customise the default behaviour.
Access restricted in .htaccess
If your public IP address has been blocked in the .htaccess file for a site, or access to the folder has been specifically denied in .htaccess it would return this error.
If password protection has been applied to a folder and login has been rejected, or if password protection is incorrectly configured to secure a folder it could also result in this error.
File or folder permissions
If read access to a file or folder is blocked by the permissions of the file or folder it could result in this error being returned. You can read about how to check and update file permissions for files or folders in your site here.
500 Internal Server Error
This error is a generic error returned by the webserver when more specific details on the cause for failure to load a webpage can’t be provided.
You can find details on how to troubleshoot 500 errors here.
503 Service Unavailable
This error will usually indicate a temporary issue. Usually due to the web-server being unable to return the requested content for some reason. Try refreshing the page after a minute in case the error is only temporary.
You can check our system status page here to see if we’re aware of any server issues that could cause this type of error.
Other Website Errors
Error establishing a database connection
This error will be returned when a site attempts to connect to a database using incorrect credentials: username, password, database-name or hostname.
The error will also be returned if the database server for the site is unavailable or down.
If you change the password for a database in your account this error would occur until any config files within the site that store the database password are updated.
PHP Errors and Warnings
PHP warnings and errors can occur for a variety of reasons, some possible causes, for example, are:
- Missing files or folders within your site.
- Changes to the PHP version on the server for the site.
- Changes to file or folder paths when moving sites between servers.
- Attempts to use deprecated or removed functions with the PHP version in use for a site.
PHP warnings will usually be displayed in a format similar to the example below:
Warning: Description of error cause () in /www/abc/123/www.yourdomain.com/web/filename.php on line 123
If you’ve changed the PHP version in use for your site, or you’re moving a site from a server running a different version of PHP you might encounter these types of warnings. These errors are due to compatibility issues between the version of PHP on the web server. The version required by the scripts in use for your site. You can read about how to change the PHP version for your site here.
You can disable displaying PHP warnings within your site by uploading a .user.ini file. We don’t log PHP or application-level errors by default, so it can be useful to enable PHP error logging if you’re trying to troubleshoot any PHP errors occurring with your site.
For more information on how to enable error logging and troubleshoot PHP errors see our guide here.
That’s it! You now have a better understanding of HTTP errors and what they mean.