private function _rewrite() { //读取伪静态规则 $requestUri = $_SERVER['REQUEST_URI']; $rewrites = Config::get('router.rewrite'); // $requestUri = str_replace($this->suffix, '', $requestUri); foreach ($rewrites as $rewrite => $value) { $rewrite = str_replace('/', '\\/', $rewrite); $requestUri = str_replace(Application::basePath(), '', $requestUri); // echo $rewrite; if (preg_match("/{$rewrite}/i", $requestUri, $paramValues)) { // print_r($paramValues); // die; $paramNum = 0; if (preg_match_all("/{[0-9]}/", $value, $paramNumRs)) { if (isset($paramNumRs[0])) { $paramNum = count($paramNumRs[0]); } } if ($paramNum + 1 == count($paramValues)) { $paramValues = array_slice($paramValues, 1); } else { continue; } $patterns = array(); $replacements = array(); foreach ($paramValues as $key => $val) { $patterns[] = "/\\{{$key}\\}/"; $replacements[] = $val; } $_GET['r'] = preg_replace($patterns, $replacements, $value); } } }
public function baseUrl() { return Application::basePath(); }