Некоторые из веб-страниц фактически содержатся в моей базе данных.
У меня есть htaccess со следующим
ErrorDocument 404 /error404.php
Моя ошибка404 сделать require("checkdb.php");
которая проверяет, представлено ли имя файла в базе данных MySQL. Если так, я хочу вернуть 200 OK и выплюнуть содержимое.
Если нет, то хочу выплюнуть, что 404
Моя проблема в том, что я застрял с 404. Хотя моя страница отображается правильно, она не будет обнаружена поисковой системой, и Google + не работает, если она проверит страницу и получит 404.
Я добавил
header('HTTP/1.1 200 OK');
сразу после проверки в базе данных (код html еще не отображался), но я получаю
Внимание. Невозможно изменить информацию заголовка - заголовки уже отправлены ....
Даже если я переместу это header()
в самом начале /error404.php
, я все равно получу эту ошибку. Похоже, Apache сначала вернет эти 404, а затем позвонит /error404.php
Что я могу сделать, чтобы исправить это?
Большое спасибо заранее!