HTTP 404 (Not Found) is an HTTP status code in order to express the requested resource can not be found on the server. This is generally returned by the webserver when the provided URL does not exist. HTTP status codes are used to express the request result to the client in a structured way.
Expression Of HTTP 404 Not Found
HTTP 404 is common error which occurs on the web servers whne the requested URL can not be found. This error also expressed with different terms and warnings like below.
- HTTP 404
- 404 Not Found
- 404 Error
- Error 404 Not Found
- 404 File or Directory Not Found
- HTTP 404 Not Found
- 404 Page Not Found
- Page Not Found
- Server Not Found
- Error 404
- The requested URL was not found on the server
- HTTP Error 404
- Error 404: page not found
What Causes How HTTP 404 “Not Found” Error?
“HTTP 404 Not Found” error can be triggered in different ways and causes. As the web servers are complex and serves a lot of different resources the cause of the error can be very different from situation to situation. Lets list some of the common “HTTP 404 Not Found” error causes.
- The URL or the content is deleted or moved where the resource can not be processed by the web server software. For example an image can be moved into different directory which can not be found with its old URL.
- URL provided by the user which is generally types into the address box of the browser is in correct or do not exist. This is a user side cause for the HTTP 404 error.
- The responsible web server do not running given web site or domain name which will cause this error.
- A DNS resolution problem like domain name can not be converted into an IP may cause the “HTTP 404 Not Found” error.
HTTP 404 Not Found Substatus Errors
HTTP 4XX status codes are used for the server-side errors. The HTTP 404 Not Found error specifies that the requested resources can not be found. Microsoft Internet Information Services (IIS) returns som sub-status codes in order to provide more detailed and precise information about the error. IIS provides these sub-status codes in 4XX.XX format like below. These sub-status error codes are supported from the IIS version 7.0. Keep in mind that these sub-status codes are not supported officially and not returned by non-Microsoft web servers like Nginx, Apache etc.
- 404.0 – Not found.
- 404.1 – Site Not Found.
- 404.2 – ISAPI or CGI restriction.
- 404.3 – MIME type restriction.
- 404.4 – No handler configured.
- 404.5 – Denied by request filtering configuration.
- 404.6 – Verb denied.
- 404.7 – File extension denied.
- 404.8 – Hidden namespace.
- 404.9 – File attribute hidden.
- 404.10 – Request header too long.
- 404.11 – Request contains double escape sequence.
- 404.12 – Request contains high-bit characters.
- 404.13 – Content length too large.
- 404.14 – Request URL too long.
- 404.15 – Query string too long.
- 404.16 – DAV request sent to the static file handler.
- 404.17 – Dynamic content mapped to the static file handler via a wildcard MIME mapping.
- 404.18 – Query string sequence denied.
- 404.19 – Denied by filtering rule.
- 404.20 – Too Many URL Segments.
Custom HTTP 404 Error Page
The HTTP 404 “Not Found” status code is provided by the web server in a raw and standard way. This can lower the user experience and there is a way to improve the HTTP 404 Not Found error to show more user-friendly way. We can customize the HTTP 404 by creating a specific error page to server when this error occurs. Also Different CMS software provides user friendly error page to show users.
If you are not using CMS like WordPress, Drupal etc. you can create custom HTTP 404 Not Found error pages. Just create an error page like “404error.html” or “404error.php” and put the content you want to shown in the case of “HTTP 404 Not Found” error. Put the following configuration into the Apache web server configuration file.
ErrorDocument 404 /404error.html
Using customizes HTTP 404 error pages will provides some benefits against the standard 404 error pages.
- Customized HTTP 404 page can provide help about the case to the user. This can putting a search box or redirect another page or provide some information to follow.
- Custom HTTP 404 page will make your brand more powerful by using the web site colors, styles and images for the error page.
- Custom HTTP 404 page may provide some fun by using comic images or icons to the user.
HTTP 404 Error Page Examples
HTTP 404 Detection Tools
HTTP 404 error can be detected in different ways. Even finding error by checking hand is possible it is not a smart way to detect HTTP 404 Not Found errors. There are some tools which can help us to find HTTP 404 errors by checking links. Some of the most popular tools to find HTTP 404 error is like below.
Google Search Console is a tool which is provided by Google to the site owners or manager to track their web sites for different metrics and errors for Google Search engine. Google Search Console is related with the Google Search Engine and provides very useful and meaningful information about HTTP 404 error.
Dead Link Checker is an online tools used to make checks for web sites for dead links. It can be used to check single or multiple links for HTTP 404 Not Found error check.
How To Fix HTTP 404 Not Found Error?
HTTP 404 error may have different causes where different problem sources requires different solutions or fixes. Problem can be related with server software, disk, web server, network, cloud provider, user etc. Lets list some common fixing ways for the “HTTP 404 Not Found” error. We will categorize the solutions according to the problem and related solutions part.
Client Side Solutions
- The first option to solve HTTP 404 error is reloading the page by using “F5” keyboard shortcut or refresh button of the web browser. In rare situations the web servers can not operate properly where the HTTP 404 error can be returned. So we will refresh the request to fulfill it properly.
- Servers provide the resources or web pages by using URLs. Generally providing wrong non-existing URLs will return HTTP 404 Not Found error. So we can fix this error by checking URL generally some mistyped characters can cause this type of error. Also if the URL is copied and pasted some characters and terms can be encoded wrong too.
- URL can also contains multiple directory levels to access. If the URL provides multiple directory levels like “https://www.poftut.com/a/b/c/test.html” the best way is checking the upper-level directories for existence like browsing “https://www.poftut.com/a” and then “https://www.poftut.com/a/b” so on.
- Even after checking the previous solutions, we get HTTP 404 error we can use the search box for the given site which can provide some information about the URL or web page.
- Alternatively we can use a general internet search engine like Google in order to search the given URL or web page. “site:poftut.com myexamplepage” term can be used for the target web site.
- Deleting the browser cache and cookies can be a way for the solution. This can be related to the cached files and requests may have improper parameters. Deleting the cache will clear all past configurations.
Server/Provider Side Solutions
- Deleted pages can be reviewed where the request for a deleted page will create HTTP 404 Not Found error. Deleted page can be review by using search engines and cached page list of the search results.
- Web servers uses regular or script files in order to serve pages. Regular and script files have permission for access on the operating system. If the web server do not have the access permission for the file it will return HTTP 404 error. The required access permission should be given properly.
- Memory Limit is another case where new content can not be stored in the memory and can not be served properly which will throw an 404 error. The memory of the system and web server can be checked.
- “.htaccess” files are used to set folder specific configuration and permission for a web server. Wrong “.htaccess” configuration may cause HTTP 404 where the .htaccess file should be checked.
- Apache web server uses the “mod_rewrite” module in order to reavaluate URLs which is used for customize URLs. Check if “mod_rewrite” is enable and configured properly.
Different HTTP 404 Not Found Error Pages
Different web servers and web sites provide different HTTP 404 Not Found error. Below we will list some of the popular web sites and CMS HTTP 404 error pages.
WordPress Search HTTP 404 Not Found Error Page
Apache HTTP 404 Not Found Error Page
Nginx HTTP 404 Not Found Error Page
Joomla HTTP 404 Not Found Page