URL编码的"画"字 $newurl = urldecode($newurl); preg_match('/^(\d+)画$/', $newurl, $mat); if(isset($mat[1])) { // 使用bihua控制器来处理 $_GET['control'] = 'bihua'; $_GET['action'] = 'index'; $_GET['bihua'] = $mat[1]; return true; } } } return false; } //动态URL解析 protected function other_url(){ if(isset($_GET['u'])) { $u = $_GET['u']; unset($_GET['u']); }elseif(!empty($_SERVER['PATH_INFO'])) { $u = R('PATH_INFO', 'S'); }else{ $_GET = array(); $u = R('QUERY_STRING', 'S'); } //清除URL后缀 $url_suffix = C('url_suffix'); if($url_suffix) { $suf_len = strlen($url_suffix); if(substr($u, -($suf_len)) == $url_suffix) $u = substr($u, 0, -($suf_len)); } $uarr = explode('&', $u); $u = $uarr[0]; if(count($uarr) > 1){ array_shift($uarr); foreach ($uarr as $v){ $varr = explode('=', $v); $_GET[$varr[0]] = isset($varr[1]) ? urldecode($varr[1]) : ''; } } unset($uarr); $uarr = explode('-', $u); if(count($uarr) < 2) {core::error404();} //控制器 if(isset($uarr[0])) { $_GET['control'] = empty($uarr[0]) ? 'index': strtolower($uarr[0]); array_shift($uarr); } //方法 if(isset($uarr[0])) { $_GET['action'] = empty($uarr[0]) ? 'index': strtolower($uarr[0]); array_shift($uarr); } //伪静态下 访问动态首页、内容页URL、分类URL、标签URL 则进入404页面 $dis_control = array('index', 'show', 'cate', 'tag'); if( in_array($_GET['control'], $dis_control) && $_GET['action'] == 'index'){ core::error404(); } //参数 $num = count($uarr); for($i=0; $i<$num; $i+=2){ isset($uarr[$i+1]) && $_GET[$uarr[$i]] = $uarr[$i+1]; } return false; } //分页参数验证 private function page_check($param){ if(empty($param)){ return false; }else{ preg_match('/^page_([1-9]\d*)$/', $param, $mat); if(isset($mat[1])){ return $mat[1]; }else{ return false; } } } //正整数参数验证 private function integer_check($param){ if(empty($param)){ return false; }elseif( preg_match($this->integer_pattern, $param) ){ return true; }else{ return false; } } //模型ID验证(不含单页) private function mid_check($mid, $cfg){ if($mid > 1 && isset($cfg['table_arr'][$mid])){ return true; }else{ return false; } } //部首URL解析 protected function bushou_url($cfg = array(), $uri = ''){ // 匹配bushou/格式的URL(部首列表页) if($uri == 'bushou/') { // 使用cate控制器来处理,对应分类ID为21 $_GET['control'] = 'cate'; $_GET['action'] = 'index'; $_GET['cid'] = 21; return true; } // 匹配bushou/部首.html格式的URL if(substr($uri, 0, 7) == 'bushou/') { $url_suffix = $_ENV['_config']['url_suffix']; $url_suffix_len = strlen($url_suffix); // 检查URL后缀 if(substr($uri, -$url_suffix_len) == $url_suffix) { $newurl = substr($uri, 7, -$url_suffix_len); // 提取部首,支持URL编码 $newurl = urldecode($newurl); if(!empty($newurl)) { // 使用bushou控制器来处理 $_GET['control'] = 'bushou'; $_GET['action'] = 'index'; $_GET['bushou'] = $newurl; return true; } } } return false; } //拼音URL解析 protected function pinyin_url($cfg = array(), $uri = ''){ // 匹配pinyin/拼音.html格式的URL if(substr($uri, 0, 7) == 'pinyin/') { $url_suffix = $_ENV['_config']['url_suffix']; $url_suffix_len = strlen($url_suffix); // 检查URL后缀 if(substr($uri, -$url_suffix_len) == $url_suffix) { $newurl = substr($uri, 7, -$url_suffix_len); // 提取拼音,支持URL编码 $newurl = urldecode($newurl); if(!empty($newurl)) { // 使用pinyin控制器来处理 $_GET['control'] = 'pinyin'; $_GET['action'] = 'index'; $_GET['pinyin'] = $newurl; return true; } } } return false; } //康熙字典URL解析 protected function kangxi_url($cfg = array(), $uri = ''){ if(substr($uri , 0 , 7) == 'kangxi/' && strlen($uri) > 7){ $url_suffix = $_ENV['_config']['url_suffix']; $url_suffix_len = strlen($url_suffix); if(substr($uri, -$url_suffix_len) == $url_suffix) { $newurl = substr($uri, 0, -$url_suffix_len); $u_arr = explode('/', $newurl); if(!isset($u_arr[1])){ core::error404(); } if(isset($u_arr[2])){ $nannv_pinyin_to_char = array('nan' => '男', 'nv' => '女'); $nannv_char_to_pinyin = array('男' => 'nan', '女' => 'nv'); $wuxing_pinyin_to_char = array('jin' => '金', 'mu' => '木', 'shui' => '水', 'huo' => '火', 'tu' => '土'); $wuxing_char_to_pinyin = array('金' => 'jin', '木' => 'mu', '水' => 'shui', '火' => 'huo', '土' => 'tu'); $nannv_value = $u_arr[1]; $wuxing_value = $u_arr[2]; $valid_nannv = false; $valid_wuxing = false; if(isset($nannv_pinyin_to_char[$nannv_value])) { $nannv_value = $nannv_pinyin_to_char[$nannv_value]; $valid_nannv = true; } elseif(isset($nannv_char_to_pinyin[$nannv_value])) { $valid_nannv = true; } if(isset($wuxing_pinyin_to_char[$wuxing_value])) { $wuxing_value = $wuxing_pinyin_to_char[$wuxing_value]; $valid_wuxing = true; } elseif(isset($wuxing_char_to_pinyin[$wuxing_value])) { $valid_wuxing = true; } if(!$valid_nannv || !$valid_wuxing) { core::error404(); } $_GET['control'] = 'qm'; $_GET['action'] = 'kangxi'; $_GET['nannv'] = $nannv_value; $_GET['wuxing'] = $wuxing_value; return true; } } } return false; } } Lecms 3.0.3 错误

错误信息

错误位置

基本信息

程序流程

SQL

$_GET

$_POST

$_COOKIE

包含文件

其他信息