Online Chat
 Call Us: 
1-877-744-1221
Browse Submit a Ticket
 
Advanced Search
Tools
Rss Categories

404 Not Found error on a shared hosting (common for GoDaddy)

Author: Edward Hardin Reference Number: AA-00587 Views: 22957 Last Updated: 01/12/2011 10:59 AM 0 Rating/ Voters

If you have tried to solve the "404 Page Not Found" problem and you're using a GoDaddy shared hosting, check the instructions below. Also this problem may happen on other misconfigured hostings. This error may occur on Linux+Apache systems with PHP plugged in to Apache via FastCGI interface.


Correct solution to this issue is:

  1. Enable the ExtendedStatus option in the httpd.conf file (Apache configuration file):
    ExtendedStatus On
  2. And set cgi.fix_pathinfo to 1 in the php.ini (PHP configuration file):
    cgi.fix_pathinfo=1

Additional Info on This Issue

cgi.fix_pathinfo provides real PATH_INFO/PATH_TRANSLATED support for CGI. PHP's previous behavior was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not care what PATH_INFO is. For more information on PATH_INFO, see the cgi specifications. Setting this to 1 causes PHP CGI to fix its paths to conform to the specification.

However while ExtendedStatus is Off in Apache settings, this option doesn't work.

You can ask GoDaddy to enable these options, and if they will refuse to do so, you can use a workaround:

Simply alter the \admin\application\config\config.php file again and change uri_protocol to QUERY_STRING:

$config['uri_protocol'] = "QUERY_STRING";

In this case you would need to check this setting each time you update KMP, because this file can be overwritten and uri_protocol would be set back to AUTO.