Иногда важно помнить, что проверки на "более точное соответсвие" нет, и правила проверяются в том порядке, как они записаны в файле urlrewrite.php. Например, если два правила записаны так:
[CODE]
array(
"CONDITION" => "#^/([a-zA-Z_-]*)/([a-zA-Z_-]*)/([a-zA-Z_-]*)/?#",
"RULE" => "CODE=$3",
"ID" => "",
"PATH" => "/main/page.php",
),
array(
"CONDITION" => "#^/news/blog/([0-9]+).*/#",
"RULE" => "ID=$1&$2",
"ID" => "",
"PATH" => "/about/news/detail.php",
)
[/CODE]
второе правило не сработает для "своего" адреса (например /about/news/55/), т.к. первое, универсальное, срабатывает для этого адреса. То есть, более точные правила нужно писать в начало файла, а обобщённые — в конец.
[CODE]
array(
"CONDITION" => "#^/([a-zA-Z_-]*)/([a-zA-Z_-]*)/([a-zA-Z_-]*)/?#",
"RULE" => "CODE=$3",
"ID" => "",
"PATH" => "/main/page.php",
),
array(
"CONDITION" => "#^/news/blog/([0-9]+).*/#",
"RULE" => "ID=$1&$2",
"ID" => "",
"PATH" => "/about/news/detail.php",
)
[/CODE]
второе правило не сработает для "своего" адреса (например /about/news/55/), т.к. первое, универсальное, срабатывает для этого адреса. То есть, более точные правила нужно писать в начало файла, а обобщённые — в конец.