Ejemplo n.º 1
0
 public static function init()
 {
     App_Info::$CONTROLLER_NAME = App_Info::config('DEFAULT_CONTROLLER_NAME');
     App_Info::$ACTION_NAME = App_Info::config('DEFAULT_ACTION_NAME');
     $is_cgi = substr(PHP_SAPI, 0, 3) == 'cgi';
     if ($is_cgi) {
         //CGI/FASTCGI模式下
         $temp = explode('.php', $_SERVER['PHP_SELF']);
         App_Info::$CURRENT_URL = $_SERVER['PHP_SELF'];
         App_Info::$INDEX_URL = rtrim(str_replace($_SERVER['HTTP_HOST'], '', $temp[0] . '.php'), '/');
     } else {
         $info = pathinfo($_SERVER['SCRIPT_NAME']);
         $url = strpos($_SERVER['REQUEST_URI'], $info['dirname']) === 0 ? $_SERVER['SCRIPT_NAME'] : '/' . $info['basename'];
         App_Info::$CURRENT_URL = $_SERVER['REQUEST_URI'];
         App_Info::$INDEX_URL = $url;
     }
     //兼容重写出现 /index.php/controller/action
     isset($_SERVER['HTTP_X_REWRITE_URL']) && (App_Info::$CURRENT_URL = $_SERVER['HTTP_X_REWRITE_URL']);
     App_Info::$BASE_URL = rtrim(dirname(App_Info::$INDEX_URL), DIRECTORY_SEPARATOR);
     //把本域加入配置
     $allow = App_Info::config('HOST_LOCATION_ALLOW');
     $allow[] = $_SERVER['HTTP_HOST'];
     App_Info::config('HOST_LOCATION_ALLOW', $allow);
     $allow = App_Info::config('HOST_LOCATION_ALLOW');
 }