0) $url = preg_replace($val["CONDITION"], (strlen($val["PATH"]) > 0 ? $val["PATH"]."?" : "").$val["RULE"], $requestUri); else $url = $val["PATH"]; if(($pos=strpos($url, "?"))!==false) { $params = substr($url, $pos+1); parse_str($params, $vars); unset($vars["SEF_APPLICATION_CUR_PAGE_URL"]); $_GET += $vars; $_REQUEST += $vars; $_SERVER["QUERY_STRING"] = $QUERY_STRING = CHTTP::urnEncode($params); $url = substr($url, 0, $pos); } $url = _normalizePath($url); if(!$io->FileExists($_SERVER['DOCUMENT_ROOT'].$url)) continue; if (!$io->ValidatePathString($url)) continue; $urlTmp = strtolower(ltrim($url, "/\\")); $urlTmp = str_replace(".", "", $urlTmp); $urlTmp7 = substr($urlTmp, 0, 7); if (($urlTmp7 == "upload/" || ($urlTmp7 == "bitrix/" && substr($urlTmp, 0, 16) != "bitrix/services/" && substr($urlTmp, 0, 18) != "bitrix/groupdavphp"))) continue; $ext = strtolower(GetFileExtension($url)); if ($ext != "php") continue; CHTTP::SetStatus("200 OK"); $_SERVER["REAL_FILE_PATH"] = $url; include_once($io->GetPhysicalName($_SERVER['DOCUMENT_ROOT'].$url)); die(); } } } //admin section 404 if(strpos($requestUri, "/bitrix/admin/") === 0) { $_SERVER["REAL_FILE_PATH"] = "/bitrix/admin/404.php"; include($_SERVER["DOCUMENT_ROOT"]."/bitrix/admin/404.php"); die(); } define("BX_CHECK_SHORT_URI", true);