Перенаправить на страницу 404 или показать сообщение 404? - PullRequest
7 голосов
/ 31 мая 2011

Я использую cms, и ошибки, связанные с отсутствием файла, могут быть обработаны различными способами:

  1. Страница не будет перенаправлена, но сообщение об ошибке будет отображаться как содержимое (используя макет по умолчанию с меню / нижним колонтитулом).
  2. Страница будет перенаправлена ​​на error.php (страница выглядит так же, как 1., но адрес изменился)
  3. Страница будет перенаправленана существующую страницу, например, sitemap.php

Есть ли способ, который предпочтительнее в отношении поисковых систем, или это не имеет значения?

Ответы [ 2 ]

13 голосов
/ 31 мая 2011

Если он не найден, вы должны выпустить страницу 404.Выполнение перенаправления вызывает код 302, за которым следует «200 OK», подразумевая, что есть некоторый контент.Вывод 404 гласит: «Нет файла. Прекратите меня глючить».

Примерно так можно представить страницу 404 с правильным кодом заголовка:

<?php
if ($page_not_found) {
   header('This is not the page you are looking for', true, 404);
   include('your_404_page.php');
   exit();
}
6 голосов
/ 31 мая 2011

Не перенаправлять.

Забудьте о поисковых системах.Если я наберу URL-адрес и произвожу небольшую опечатку, а вы меня перенаправите, тогда мне придется вводить все заново.

Страница не будет перенаправлена, но сообщение об ошибке будетотображаться в виде содержимого (с использованием макета по умолчанию с помощью меню / нижнего колонтитула).

Попробуйте прояснить, что это страница с ошибкой.Она не должна выглядеть слишком во многом как обычная страница.

Страница будет перенаправлена ​​на error.php (страница выглядит так же, как 1., но адрес изменился)

Нет.Действительно, действительно нет.

Страница будет перенаправлена ​​на существующую страницу, например sitemap.php

В HTTP есть несколько кодов состояния перенаправления, ни один из них«Не найдено, но вам может понравиться это».

...