Table of Contents

Understanding Error 404 Not Found

In most cases Error 404 is related to a missing or misconfigured file or webpage. When the user requests that file or webpage, LiteSpeed Web Server will return a 404 code. 404 indicates that there is something wrong, and LSWS can't find that file. Let's see what can trigger this error and how to resolve it.

Missing file

Many templates include a path to favicon.ico, but not the actual favicon, and when you load your site you can see in the developer console a line like:

 GET https://domain.com/favicon.ico 404 

In this case the error is not fatal, but it's a good practice to resolve it anyway. To do so, simply find the included path for the favicon and then put the favicon there. You can use that method to resolve not only missing favicons but other files too.

Missing Rewrite Rules

This is the second most common reason for Error 404. For example, if you change the permalink structure of your website, but you do not put rewrite rules or redirects in place, LSWS won't be able to find the page's new location, and will return a 404. You can reverse the changes for permalinks, or review your .htaccess file and put the right rules there.

Wrong Rewrite Rules

If you put, for example, a redirect from your index page to a different home page, but the home page does not exist, you will see Error 404. The same thing can apply if you enter incorrect rewrite rules. You can temporarily rename your .htaccess file from an FTP client or with the following terminal command:

 mv .htaccess htaccess-wrong 

Or you can reverse the latest changes to that file.

Different Web Server

If you or your hosting provider change the web server (for example, to NGiNX) in some cases you will see Error 404. Some web servers do not read the .htaccess file, and you need to include the critical rules directly in the .conf/vconf file for that web server. You may need to contact your hosting provider for help with that.

Removed Domain Name

Depending on the server configuration, in some cases when a domain name points to a server but the virtual host doesn't exist, you can see a 404 error. You can contact your hosting provider for additional information, or you can review the server configuration if you have access.

Wrong Document Root

This is due to a command mistake when the new vhost is created, The user adds the wrong document root. In that case the web server will search for the files in a different directory, and when they are not there you will see Error 404.

Changed NS Server for a Domain Name

If you change the Name Servers (NS) for a domain name before configuring the domain/webpage in the new location, you can experience a 404. Always change NS server after the domain/webpage is properly working in the new location.

DNS Cache

If you migrate your page to a new server, change the NS servers for the domain and delete the content on the old server, it's still possible to see Error 404. That is because most ISPs (Internet Service Providers) have DNS caching in place, and your page is still loading from the old location. Its a good practice not to delete the content from the old server for 3-4 days to avoid such an issue.

Missing /cgi-bin/ folder in document root

In a cPanel environment, under /home/USER1/public_html, there is no cgi-bin folder normally. However, in a cPanel Apache virtual host setting, you will find a ScriptAlias setting addresses this issue for Apache. LSWS, on the other hand, returns a 404 because the folder does not exist. Please check this wiki to learn how to fix it.