Все страницы на моем сайте работают нормально. Но они отправляются с 404
заголовок.
У меня есть сайт PHP с использованием шаблона фронт-контроллера. .htaccess
имеет стандартный код для доставки запросов имени страницы в виде параметров URL:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+) index.php?filename=$1
В index.php
Я беру этот параметр URL и использую его следующим образом:
$_pagename = $_GET['filename'];
$content = "pages/" . $_pagename . ".php";
if (!file_exists($content)) {
header('HTTP/1.0 404 Not Found');
$content = "pages/404.php";
} else {
header('HTTP/1.0 202 Accepted');
}
Видите, я даже дал ему 202
заголовок. (Что не должно быть необходимо!)
Кажется, все работает правильно. $content
загружен правильно, несуществующие страницы доставляются 404
правильно. Единственное, что странно, что все страницы имеют 404
заголовок! Что может быть причиной этого?
Задача ещё не решена.
Других решений пока нет …