[eluser]david_ais[/eluser]
My application makes heavy use of mod_rewrite to allow SEO friendly URLs to be internally redirected to the appropriate CI URL.
So .htaccess contains lots of lines like:
Code:
RewriteRule ^about\.html$ /index.php/pages/about [L]
That's been working fine on my internal system which runs PHP5 as an Apache module. And it runs fine on the live site when the site is running the ISP's default PHP4 which runs as cgi.
Because there's a part of my code that's PHP5 specific I used the facility on the ISP's server to switch the live site to run under PHP5. But as soon as I do that, the mod_rewrite entries appear to stop working. Other than the site's home page - which because it uses a default URL doesn't get filtered through mod_rewrite - every other page just returns the text:
"No input file specified"
- which I understand is the standard cgi processor response when it's called without a valid file name. In those cases, CI's main index.php file is never called.
The application itself runs fine with PHP5 on this server. So if I type in a CI url - e.g. the target url from the mod_rewrite example above '/index.php/pages/about' returns the expected page.
Given that mod-rewrite should perform an internal redirect and request the same page which works properly when accessed directly - everything seems to point to a problem with the interaction between mod_rewrite and the cgi processor when running PHP5. Unfortunately the ISP is being less than helpful. I don't think they know why this is happening but don't want to admit it!
Can anyone shed any light on this - and more importantly suggest a solution?
Regards
db