When PHP is installed as CGI and not as "mod_php" into apache, then system requirements step tells, that mod rewrite is not available.
But in fact mod rewrite works absolutely normally.
I propose to improve detection as advised by
http://christian.roy.name/blog/detecting-modrewrite-using-php article by setting custom environment variable in .htaccess file, like this:
<IfModule mod_rewrite.c>
// Tell PHP that the mod_rewrite module is ENABLED.
SetEnv HTTP_MOD_REWRITE On
</IfModule>
and checking it later inside PHP:
if ( function_exists('apache_get_modules') ) {
$modules = apache_get_modules();
$mod_rewrite = in_array('mod_rewrite', $modules);
} else {
$mod_rewrite = getenv('HTTP_MOD_REWRITE')=='On' ? true : false;
}
I also recommend wrapping whole rewrite-related code inside that IfModule statement since if mod-rewrite is really unavailable, then any directive from it (e.g. RewriteEngine) could cause "500 Internal Server Error" for whole website.
--
Best Regards,
http://www.in-portal.comhttp://www.alex-time.com