Xeon303
Новичок
Отображение страницы Not Found и отправка кода 404
Столкнулся с такой проблемой:
Нужно средствами PHP выдать пользователю 404-ую ошибку "Not Found" и вывести при этом страницу сгенерированную через PHP. В Апаче я понимаю - там сервер отправляет 404 код клиенту и выводит строго определенную страницу с сервера.
Допустим, на серваке лежит скрипт index.php, который может принимать параметры, которые определяют выводимую страницу.
Например, index.php?id=2135
Допустим, если пользователь ввел неверный ID, то система должна выдать ошибку 404 и отобразить страницу.
Я делал так:
Вроде, все работает: PHP отправляет хедер со статусом 404, добавлет строку "Страница, которую вы запрашиваете, не существует!".
Когда я вводил адрес с неправильным ID в броузере Opera, то сервер возвращал код 404 и выводил мое сообщение, но когда я делал то же самое в Internet Explorer, то сервер сообщал 404 код, а страницу с ошибкой Internet Explorer выдавал свою:
В чем причина этому - я не пойму. Может быть я header не тот отправляю? Когда Апач выводит страницу с ошибкой, то все нормально IE отображает не свою страницу, а ту, которую ему дает Апач. А в моем случае IE вставляет свою страницу!
Подскажите пожалуйста, заранее благодарен.
P.S. Если не знаете, то может быть посоветуете какую-нибудь программу с помощью которой можно отсылать запросы к серверу и просматиривать его ответ (шапки). Только telnet, пожалуйста, не предлагать, потому что я с ним уже намучался.
Я слышал, что че-то подобное есть... Хотелось бы сравнить ответы сервера при ошибке 404: ответ моего скрипта и Апача.
Столкнулся с такой проблемой:
Нужно средствами PHP выдать пользователю 404-ую ошибку "Not Found" и вывести при этом страницу сгенерированную через PHP. В Апаче я понимаю - там сервер отправляет 404 код клиенту и выводит строго определенную страницу с сервера.
Допустим, на серваке лежит скрипт index.php, который может принимать параметры, которые определяют выводимую страницу.
Например, index.php?id=2135
Допустим, если пользователь ввел неверный ID, то система должна выдать ошибку 404 и отобразить страницу.
Я делал так:
PHP:
header("HTTP/1.0 404 Not Found");
print "Страница, которую вы запрашиваете, не существует!";
Вроде, все работает: PHP отправляет хедер со статусом 404, добавлет строку "Страница, которую вы запрашиваете, не существует!".
Когда я вводил адрес с неправильным ID в броузере Opera, то сервер возвращал код 404 и выводил мое сообщение, но когда я делал то же самое в Internet Explorer, то сервер сообщал 404 код, а страницу с ошибкой Internet Explorer выдавал свою:
Невозможно найти страницу Возможно, эта страница была удалена, переименована, или она временно недоступна...
В чем причина этому - я не пойму. Может быть я header не тот отправляю? Когда Апач выводит страницу с ошибкой, то все нормально IE отображает не свою страницу, а ту, которую ему дает Апач. А в моем случае IE вставляет свою страницу!
Подскажите пожалуйста, заранее благодарен.
P.S. Если не знаете, то может быть посоветуете какую-нибудь программу с помощью которой можно отсылать запросы к серверу и просматиривать его ответ (шапки). Только telnet, пожалуйста, не предлагать, потому что я с ним уже намучался.
Я слышал, что че-то подобное есть... Хотелось бы сравнить ответы сервера при ошибке 404: ответ моего скрипта и Апача.
. Чем интересно они руководствовались, когда делали IE и почему ограничение именно в 524 байта?