- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/urlrewriter.php
- Класс: BitrixMainUrlRewriter
- Вызов: UrlRewriter::checkPath
static function checkPath($path)
{
static $searchMasksCache = false;
if (is_array($searchMasksCache))
{
$arExc = $searchMasksCache["exc"];
$arInc = $searchMasksCache["inc"];
}
else
{
$arExc = array();
$arInc = array();
$inc = ConfigOption::get("main", "urlrewrite_include_mask", "*.php");
$inc = str_replace("'", "\'", str_replace("*", ".*?", str_replace("?", ".", str_replace(".", "\.", str_replace("\", "/", $inc)))));
$arIncTmp = explode(";", $inc);
foreach ($arIncTmp as $preg_mask)
if (trim($preg_mask) <> '')
$arInc[] = "'^".trim($preg_mask)."$'";
$exc = ConfigOption::get("main", "urlrewrite_exclude_mask", "/bitrix/*;");
$exc = str_replace("'", "\'", str_replace("*", ".*?", str_replace("?", ".", str_replace(".", "\.", str_replace("\", "/", $exc)))));
$arExcTmp = explode(";", $exc);
foreach ($arExcTmp as $preg_mask)
if (trim($preg_mask) <> '')
$arExc[] = "'^".trim($preg_mask)."$'";
$searchMasksCache = array("exc" => $arExc, "inc" => $arInc);
}
$file = IOPath::getName($path);
if (mb_substr($file, 0, 1) === ".")
return 0;
foreach ($arExc as $preg_mask)
if (preg_match($preg_mask, $path))
return false;
foreach ($arInc as $preg_mask)
if (preg_match($preg_mask, $path))
return true;
return false;
}