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