Getting Rid of 404 Errors
Posted by - NA - on 01 August 2006 02:51 PM
Looking for fast, interactive solution of this problem? Visit our Troubleshooter.
When you first install the eSyndiCat Directory Software and try to open pages like Top Links, Popular Links, or navigate to a category the browser displays Error 404 Page Not Found. In the majority of cases this is mod_rewrite issue. For those of you unfamiliar with mod_rewrite here is a good article on the subject.
Below is the list of solutions that our team and the comminty have discovered in the course of time.
Make sure .htaccess exists
Make sure .htaccess file exists in your eSyndiCat installation folder. If it exists you can safely skip this section. Otherwise, below is a short explanation.
.htaccess is a part of mod_rewrite technology and must be present on the server for the module to work. As you see the file starts with dot. Such files a treated as hidden by Linux operating systems. And your FTP client might do the same, i.e. hide this file from you. In this case you have to adjust client options to show hidden files (this varies among FTP clients so you have to find out how to do that) and re-upload this file to your server.
Make sure mod_rewrite is installed
mod_rewrite is an Apache web server module and must be installed as such. You can check it for yourself: log into eSyndiCat Admin Panel, click SERVER INFO link at the upper right-hand corner. Now scroll to the section named apache and make sure mod_rewrite is listed in the Loaded Modules. If it's missing you have to contact your hosting company support team and ask them install it for you.
Make sure mod_rewrite is enabled
Even if you have mod_rewrite installed you can still experience this error. The possible reason is that mod_rewrite is not enabled for your domain. The only advice here is to contact your hosting support team and ask them enable it.
Adding RewriteBase might help
Sometimes adding RewriteBase directive is enough to solve this problem.
If you installed the script in the root folder add the following directive right under RewriteEngine On:
On the other hand, if you installed the script into some folder you have to add the following directive:
Where /directory/ is the folder where you installed the script. This is just an example and your directory may differ so you have to replace it with your actualy folder name.
Consider switching to another hosting company
If your hosting company prohibits mod_rewrite for whatever reasons you may consider switching to another hosting provider. There is a plenty of them out there that don't impose such restrictions.
The last resort
By default eSyndiCat Directory Software comes with mod_rewrite enabled. This is used to display search engine and user friendly URLs. But you can switch it off. Just log into your Admin Panel, go to Configuration >> General Configuration. At the bottom of the page you will find "Apache mod_rewrite module" option. Set it to "disabled" and save the changes. Only consider this if nothing above works for you and you don't want to change your hosting company since we strongly recommend that you use search engine friendly URLs in your directory.