Для опциональных, достаточно поставить вопрос после параметра:
| Код |
|---|
/test/{param1}/{param2}? // без слеша на конце
/test/{param1}/({param2}/)? // если нужен слеш
|
Это сгенерирует regexp вида:
| Код |
|---|
#^/test/(?<param1>[^/]+)/(?<param2>[^/]+)?/?$# |
см. \Bitrix\Main\Routing\Route::match()