Example #1
0
 public static function urlReWrite()
 {
     $requestUrl = self::requestUri();
     $baseUrl = self::baseUri();
     $scriptFile = self::scriptFile();
     if (false !== stripos($requestUrl, $scriptFile)) {
         $baseUrl = $scriptFile;
     } else {
         if (false === stripos($requestUrl, $baseUrl)) {
             $format = self::getUrlFormat();
             if ($format == 'get') {
                 $baseUrl = rtrim(dirname($baseUrl), '/') . '/';
             } else {
                 $baseUrl = self::scriptFile();
             }
         }
     }
     $request = substr($requestUrl, strlen($baseUrl));
     if (strlen($request) >= 1) {
         $first = substr($request, 0, 1);
         if ($first != '?') {
             if (($index = strpos($request, '?')) !== false) {
                 $request = substr($request, 0, $index);
             }
             $request = trim($request, '/');
             if ($request != '') {
                 $request_Arr = explode('/', $request);
                 $len = count($request_Arr);
                 $routes = self::getRoute();
                 if ($routes !== null) {
                     $route = new Route($routes);
                     $params = $route->parseRoute('/' . $request);
                     if ($params === null) {
                         $_GET['con'] = isset($request_Arr[0]) ? $request_Arr[0] : null;
                         $_GET['act'] = isset($request_Arr[1]) ? $request_Arr[1] : null;
                     } else {
                         foreach ($params as $key => $param) {
                             $_GET[$key] = isset($params[$key]) ? $params[$key] : null;
                         }
                     }
                 } else {
                     $_GET['con'] = isset($request_Arr[0]) ? $request_Arr[0] : null;
                     $_GET['act'] = isset($request_Arr[1]) ? $request_Arr[1] : null;
                 }
                 if ($_GET['act'] == 'run') {
                     $_GET['act'] = '';
                 }
                 if ($len > 2) {
                     for ($i = 2; $i < $len; $i++) {
                         if ($i % 2 == 1) {
                             $_GET[$request_Arr[$i - 1]] = $request_Arr[$i];
                         }
                     }
                 }
             }
         } else {
             if (isset($_GET['con']) && $_GET['con'] == '') {
                 $_GET['con'] = null;
             }
             if (isset($_GET['act']) && $_GET['act'] == '') {
                 $_GET['act'] = null;
             }
         }
     }
 }