Я создаю передний контроллер php, потому что мне нужно включить файл из других папок, а не создавать один и тот же файл для тех, у которых такой же контент.
Пример структуры каталогов
rome
- index.php
- detail.php
- show.php
другая папка
london
- index.php (same content as rome/index.php folder)
- detail.php (different content as rome/detail.php folder)
- show.php (same content as rome/show.php folder)
Затем папка london должна содержать только файл detail.php, содержимое которого отличается от содержимого rome/detail.php, а «index» и «show» должны быть загружены из папки rome.
А это мой htaccess/фронт-контроллер
.htaccess
RewriteEngine On
RewriteRule . /front-controller.php [L]
front-controller.php
path = "{$_SERVER['DOCUMENT_ROOT']}$_SERVER['REQUEST_URI']}";
if (! file_exists ($path) ) include str_replace("london" , "rome" , $path );
Теперь у меня проблема с этим файлом, который включает другой контент...
Например, мой rome/index.php имеет
include 'content/header.php'
И когда я загружаю london/index.php, у меня возникает ошибка
'content/header.php' failed to open stream: No such file or directory
РЕДАКТИРОВАТЬ
это ошибка
Warning: require(content/php/config.php): failed to open stream: No such file or directory in /home/debian/www/rome/content/php/start.php on line 17
Fatal error: require(): Failed opening required 'content/php/config.php' (include_path='.:/usr/share/php:/usr/share/pear:') in /home/debian/www/rome/content/php/start.php on line 17