В стандартном приложении LAMP я отправляю людей на мою страницу 404, используя правило .htaccess, например:
ErrorDocument 404 http://www.mydomain.com/404.php
Мы обслуживаем динамические изображения, используя файл php, который считывает файлы из файловой системы, хотя я только что заметил, что когда изображение удаляется из приложения, мы не подняв это, так что запрос на http://www.mydomain.com/image_4.jg (например), который вызывает изображение.php с использованием mod_rewrite не перенаправляет пользователя на страницу 404, поскольку файл динамического изображения будет существовать всегда. В этом случае я знаю, что должен использовать 404, но не уверен, где именно.
Очевидно, я знаю, что мне нужно вручную вставить перенаправление заголовка на страницу 404.php, когда изображение было удалено, но должен ли я действительно отправлять заголовок 404 с этим перенаправлением ?. Глядя на код, наша страница 404.php фактически отправляет заголовок 404 уже с («HTTP / 1.1 404 не найден»);
, что наша команда SEO проинструктировала несколько лет назад, не уверен, что это правильно или нет ?. Мне это кажется нелогичным, поскольку это почти означает, что сама страница 404 не была найдена.
Думаю, это 2 вопроса:
РЕДАКТИРОВАТЬ
На самом деле, похоже, невозможно отправить 404 и перенаправить одновременно, например, это приводит к тому, что Chrome показывает «Упс! Эта ссылка не работает». message
header( "Location: /404.php", true, 404 );
Если вы разбиваете заголовки таким образом, это также не работает должным образом
header("HTTP/1.1 404 Not Found");
header("Location: /404.php" );
В этом случае, если вы посмотрите на заголовки, он отправит 302, за которым следует 404. Достаточно ли в этом случае, может быть, просто отправить заголовок без редиректа? может просто отправить 410, как рекомендуют некоторые?