Skip to main content
Version: 1.6.1

404 Error Troubleshooting Guide

This guide explains the most common causes of 404 Not Found errors on a website and how to resolve them.


1. File Does Not Exist

The simplest and most common cause: the file isn’t there. If you are requesting a static file, make sure it actually exists in the specified path or document root.

Example: If you request example.com/index.html, confirm that index.html exists in the document root of the domain example.com.

How to check:

  • Go to Domains > [Your Domain] > click on Document Root.
  • Open the File Manager and verify that the file is present in the correct location. screenshot

2. Rewrite Rules

If the request is for a dynamic route (e.g., WordPress pretty permalinks such as example.com/about), the issue may be caused by misconfigured rewrite rules in your .htaccess file or VirtualHosts configuration.

For Apache or LiteSpeed:

  • Open the File Manager and check for a .htaccess file in the domain’s document root. screenshot
  • If it exists, review its contents. screenshot
  • For WordPress, you can simply go to WP Admin > Settings > Permalinks and click Save (even without changes). This refreshes the rewrite rules in .htaccess.
  • Restart the webserver afterward to apply the changes from .htaccess file.

For Nginx or OpenResty:

  • .htaccess files are not used. Rewrite rules are set directly in the VirtualHosts configuration.
  • Go to Domains > [Your Domain] > Edit VHosts. screenshot
  • Review and correct the rewrite rules, then save the file. This automatically reloads the webserver to apply changes. screenshot

After adjustments, test your website again.


3. Docker Mount Issues

In rare cases, Docker’s file mounting system (which uses inodes) can cause discrepancies. If a user or program has moved or renamed a home directory, the PHP service container may no longer see the same files as the File Manager.

This means the file might appear in File Manager but not be accessible to PHP.

How to check:

  • If you have Docker access:

    1. Go to Docker > Terminal.

    2. Select the PHP service. screenshot

    3. Run:

      ls filename_here.php

      If the file does not appear, restart the PHP service to remount.

  • To restart the PHP container:

    • Go to Docker > Containers.
    • Disable the PHP service, wait for the page to reload, then enable it again. screenshot
  • If you do not have Docker access:

    • Contact your hosting provider and request a PHP service restart.

Once done, verify the file again using the terminal.