Краткий ответ: Все запросы страниц фактически проходят через один-единственный файл index.php.Содержимое страницы хранится в базе данных, а не в файлах на сервере.
Длинный ответ: Concrete5 (и большинство CMS на основе PHP) работает следующим образом: все запросы маршрутизируютсячерез файл index.php.Эта маршрутизация обеспечивается некоторыми правилами mod_rewrite в файле .htaccess.Правила гласят: «для любого запроса на самом деле не переходите на эту страницу, а вместо этого переходите к index.php и передайте оставшуюся часть запрошенного пути в качестве параметров $ _GET».Затем в коде index.php (или в другом коде, включенном в файл index.php) запрашиваемая страница определяется на основе пути, который Apache поместил в параметры $ _GET (согласно правилу mod_rewrite в.htaccess), и соответствующий контент извлекается из базы данных.
Хранение контента в базе данных по сравнению с файлами на сервере имеет несколько преимуществ.Например, вы можете повторно использовать один и тот же шаблон HTML - заголовок, нижний колонтитул, боковую панель - на каждой странице, и если вы измените шаблон, он будет автоматически отражен на всех страницах, на которых он используется.Кроме того, это облегчает перетасовку страниц и дает им любой URL, который вы хотите (например, без расширения «.php» в конце или /2010/11/date/based/paths/for/blog/posts).
Недостаток, конечно, заключается в том, что каждый запрос требует много запросов к базе данных, но для большинства сайтов (без просмотра миллионов страниц) компромисс стоит того (и различные типы кэширования могут помочь снизить производительностьхит).