Как убрать .php у вложеных страниц?
Люди не расширения убирают, а архитектуру приложения меняют
Если вкратце веб-сервер настраивается таким образом, чтобы запрос к любому URL вашего сайта обрабатывался одним файлом (index.php) внутри этого файла определять какой УРЛ и показывать нужную страницу.
Погуглите по запросу php router для подробностей
>> А вот у страниц, которые вложены в папки почему-то не убирается (site.ru/catalog/coca-cola.php)
Потому что в правиле .htaccess, которое вы не привели, ничего не прописано по поводу поддиректории в пути к конечному .php файлу.