Common Joomla Errors
Joomla is a commercially available content management system that allows users to easily build and manage their own websites. Though installation and management can be simple, just like any other content management system, one simple edit in the wrong place can cause significant issues to the overall functionality of your site.
A common issue with Joomla is a 404 error appearing after clicking on a menu item while the homepage loads fine. There are several causes for 404 errors in Joomla.
Search Engine Friendly URLs
404 errors in Joomla are commonly due to the configuration.php file, most commonly the Search Engine Friendly (SEF) URLs. If SEF is enabled without the proper .htaccess rewrites, a 404 error will result. The instructions below explain how to resolve this issue whether you want to disable SEF URLs or keep it enabled.
Here is an example of a search engine friendly URL:
Here is an example of a non-search engine friendly URL:
Option 1: Keep SEF URLs Enabled
To use the SEF URLs, be sure that the .htaccess.txt file in the Joomla installation has been renamed to .htaccess. You should also confirm that the Global Configuration for the installation is set to "Yes" for Search Engine Friendly URLs and Use Apache mod_rewrite.
Alternatively, you can enable SEF URLs via the configuration.php file. To do this, you must access the configuration.php file in the Joomla installation's document root and search for the following lines:
public $sef = '0'; public $sef_rewrite = '0'; public $sef_suffix = '0';
You can enable SEF URLs by changing the values from 0 to 1. Also, be sure to check the following line to ensure the value matches your site URL:
var $live_site = 'http://example.com ';
Option 2: Disable SEF URLs
To disable SEF URLs, update Joomla's Global Configuration to make sure both Search Engine Friendly URLs and Use Apache mod_rewrites are set to "No."
Alternatively, you can disable SEF URLs via the configuration.php file. To do this, you must access the configuration.php file in the Joomla installation's document root and search for the following lines:
public $sef = '1'; public $sef_rewrite = '1'; public $sef_suffix = '1';
You can disable SEF URLs by changing the values from 1 to 0. Additionally, if you leave the $live_site variable unspecified, this will enable any domain that resolves to the document root of the Joomla installation to be used as the site URL. For example:
var $live_site = '';