Как я могу заставить мою страницу ошибки 404 появляться в IIS6? - PullRequest
0 голосов
/ 23 марта 2012

У меня есть готовый к работе PHP-скрипт, который корректно обрабатывает некорректные URL-адреса. Если переданная строка запроса не соответствует фактической странице, она выдает ошибку 404 и отображает собственную страницу ошибки, которая фактически извлекается из базы данных Content Manager.

На Apache это прекрасно работает. Во II6 ... не так много. Мне нужно знать, что мне нужно сделать, чтобы IIS6 не пытался переопределить мою ошибку PHP 404 с ее собственной страницей ошибок Microsoft по умолчанию.

В моем PHP-скрипте код, который обрабатывает 404 ошибки, содержит следующую команду:

header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');

Когда я комментирую эту строку, моя страница с ошибкой PHP выглядит великолепно. Но если я оставлю это без комментариев, все, что я увижу, это:

Microsoft's Default Error Page

Я не хочу, чтобы моя пользовательская страница ошибок отображалась с кодом состояния 200; Это вводит в заблуждение для поисковых систем. Итак, как я могу оставить эту строку кода выше в коде, чтобы страница Microsoft не была там зажата?

1 Ответ

0 голосов
/ 23 марта 2012

Упс - разобрался. В IIS в свойствах сайта мне пришлось перейти на вкладку «Пользовательские ошибки» и эффективно очистить страницы, которые были по умолчанию для ошибок 404. На самом деле вам нужно сделать это только на первом, но это не помешает сделать это и на вариациях. Там были перечислены документы (с типом «Файл»). Я предположил, что это было по умолчанию, но я думаю, что нет? Когда я выбрал их и нажал «Установить по умолчанию», тип переключился на «По умолчанию» вместо «Файл», и мой PHP-скрипт начал работать так, как я хотел.

...