ob_start();
if (file_exists(ROOT_PATH.PATH_CONTROLLERS.$path_controller)) {
include ROOT_PATH.PATH_CONTROLLERS.$path_controller;
}
else {
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('./404.html'));
}
$content=ob_get_clean();
Таким образом я все изменил, предыдущий вариант не работал, потому что были взаимоисключающие условия в другом классе. Появился другой вопрос. Проверяю я условие, когда вводится заведомо неверный адрес. Например mysite.com/whatthepath, естественно роутер проверяет путь, файла там нет, он идет по ветке иначе. Выдает мне страницу с 404. Но в ней пишется ошибка, что хедер уже был отправлен ранее и не возможно модифицировать информацию. Вопрос - вообще зачем хедер отправлять? То есть я в уроках видел на irbis что они так делают, но работает вполне и без этого