[eluser]etheon[/eluser]
I had the same problem. When migrating to PHP5, the default route seemed to be ignored completely and I always had a 404 error.
However, I fixed it by editing the system/libraries/URI.php file (as much as I loathe editing the core files). Starts roughly at line 91.
Code:
// No QUERY_STRING?... Maybe the ORIG_PATH_INFO variable exists?
$path = (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO');
if ($path != '' AND $path != '/' AND $path != "/".SELF AND $path != "/index.php/")
{
$this->uri_string = $path;
return;
}
Added [$path != "/index.php/"], which was what ORIG_PATH_INFO was giving me (I'm hosted on asmallorange.com for the record).
I figured that, if it did not have to check the default route, it'd use PATH_INFO, which is also set on the server (but gave "/" without any explicit controller and thus was ignored).