0

我试图根据这个站点周围的几个片段来确定 mod_rewrite 是否可用:

$mod_rewrite = null;
if (function_exists('apache_get_modules')) {
    $mod_rewrite = in_array('mod_rewrite', apache_get_modules());
}
if (is_null($mod_rewrite) && isset($_SERVER["HTTP_MOD_REWRITE"])){
    $mod_rewrite = getenv('HTTP_MOD_REWRITE') == 'on' ? true : false ;
}
if (is_null($mod_rewrite)) {
    ob_start();
    phpinfo(INFO_MODULES);
    $contents = ob_get_contents();
    ob_end_clean();
    if(strpos('_'.$contents, 'mod_rewrite') > 0) {
        $mod_rewrite = true;
    }
}
if (is_null($mod_rewrite)) {
    $result = file_get_contents("http://".$_SERVER["SERVER_NAME"].FB_BASE."/asdfasdf/");
    if (substr($result,0,14) === "<!DOCTYPE HTML>") $mod_rewrite = true;
}

除此之外,我在 .htaccess 中有这个:

<IfModule mod_rewrite.c>
  SetEnv HTTP_MOD_REWRITE on
</IfModule>
<IfModule !mod_rewrite.c>
    SetEnv HTTP_MOD_REWRITE off
</IfModule>`

所以在 PHP 版本 5.3.3-7+squeeze14 中,CGI/FastCGI 环境 $mod_rewrite 仍然为空,尽管它实际上正在工作。我错过了什么?...或者在 FastCGI 环境中有什么不同?

4

0 回答 0