bitrix:catalog.element - выводит карточку товара
bitrix:catalog.section - содержимое раздела.
Соответственно, у Вас должно быть два правила в urlrewrite.php
// Для элемента
array(
"CONDITION" => "#^/podobrat-dver/([a-z0-9\-]+)/([^/\?]*)(.*)$#",
"RULE" => "SECION_CODE=\$1&ELEMENT_CODE=\$2&$3",
"PATH" => "/podobrat-dver/detail.php",
)
// Для раздела
array(
"CONDITION" => "#^/podobrat-dver/([a-z0-9\-]+)/(.*)$#",
"RULE" => "SECION_CODE=$1&$2",
"PATH" => "/podobrat-dver/section.php",
)
Соответственно на странице detail.php у вас должен быть вызов одного компонента:
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.element",
"detail",
array(
.....
"IBLOCK_ID" => "30",
"ELEMENT_ID" => "",
"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"],
"SECTION_ID" => "",
"SECTION_CODE" => $_REQUEST["SECION_CODE"],
"SECTION_URL" => "",
"DETAIL_URL" => "/podobrat-dver/#ELEMENT_CODE#/",
"SECTION_ID_VARIABLE" => "ELEMENT_CODE",
"SECTION_CODE_PATH" => ""
.....
),
false
);?>
А на странице section.php у вас должен быть вызов одного компонента:
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.section",
"catalog_list",
array(
....
"DETAIL_URL" => "/podobrat-dver/#ELEMENT_CODE#/",
"SECTION_CODE" => $_REQUEST["SECTION_CODE"],
"SECTION_ID" => "",
"SECTION_URL" => "",
"SHOW_ALL_WO_SECTION" => "Y",
....
),
false
);?>
За регулярки не ручаюсь (писал навскидку, без тестирования)