Не открывается страница без добавления .php в чем проблема?
Что значит "страница"? Из-за того что вы этим словом в одном предложении назвали две разных вещи у вас путаница и проблемы.
site.com/catalog/page - это url который должен обрабатываться системой, если сервер не нашел такого файла на диске, в результате чего система должна запускать какой-то скрипт с диска.
site.com/catalog/page.php - это url который обрабатывается сесрвером и скрипт с таким именем существует и поэтому запускаеться.
На каком основании вы решили что этот же скрипт должен запускаться если по URL site.com/catalog/page ?
Какие для этого есть предпосылки?
Наверное нужно каким-то образом объяснить либо серверу, что когда вы запрашиваете отсутствующий файл, то нужно попробовать найти такой же но с ".php" на конце. Либо пусть сервер передает управление системе роутинга битрикс и тогда вы должны написать соотвествующее правило в urlrewrite.php, как предложил Юрий Лядов 
Только конечно вот так это сделать:array (
    'CONDITION' => '#^/catalog/page#', // Здесь пишите на какой url нужно реагировать, если файла нет...
    'RULE' => '',
    'ID' => '',
    'PATH' => '/catalog/page.php', // а здесь какой скрипт запускать
    'SORT' => 100,
  ),
Изучите файлик urlrewrite.php
Как пример:1 => 
  array (
    'CONDITION' => '#^/page/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/index.php',
    'SORT' => 100,
  ),
2 => 
  array (
    'CONDITION' => '#^/page.php#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/index.php',
    'SORT' => 100,
  ),