как настроить

IrokezV
На сайте с 05.03.2006
Offline
153
914

у меня сайт сделан на php.

Все станицы имеют вид http://domen.ru/?page=main_

как сделать, чтобы при несуществующей странице, например

?page=main2 выдавалась 404 ошибка?

Вся жилая недвижимость на Avaho.ru ( http://avaho.ru/?utm_source=searchguru )
Bor-ka
На сайте с 16.11.2004
Offline
201
#1

в .htaccess

ErrorDocument 404 /error404.php

в error404.php (имена файлов соответственно как Вы хотите)

<?

# Ошибка, страница не найдена

if (function_exists("apache_lookup_uri"))

header("http/1.0 404 Not Found");

else

header("Status: 404 Not Found");

?>

Текст ошибки

Сервис полуавтоматического рерайта текста (http://topwriter.ru/)
K. Ermakov
На сайте с 10.12.2004
Offline
328
#2

Bor-ka, боюсь, что Вы не совсем правы.

IrokezV, надо в Вашем файле index.php проверять значение передаваемых переменных. Если эти значения соответствуют несуществующей странице тогда уже отправлять код отклика 404, как описано выше.

С уважением, Константин Ермаков, absite.ru: онлайн кроссворды (http://absite.ru/); searchsuggest.ru: поисковые подсказки доставляют (http://searchsuggest.ru/).
Bor-ka
На сайте с 16.11.2004
Offline
201
#3

K. Ermakov, действительно, недочитал

в .htaccess ничего писать не надо, только проверка, отдача 404 и далее

IrokezV
На сайте с 05.03.2006
Offline
153
#4

теперь когда я сделал, как вы господа советуете у меня появляется вместо 404 ошибки:

Warning: Cannot modify header information - headers already sent by (output started at /home/*****/public_html/index.php:2) in /home/****/public_html/main.php on line 57

Что скажете?

Bor-ka
На сайте с 16.11.2004
Offline
201
#5

IrokezV, а читать текст ошибки умеете?

заголовки header нужно отправляь до вывода контента в поток, а у Вас идет вывод в 57 строчке main.php

Делать надо:

- Поставить проверку и вывод хэадера выше вывода данных.

или

- воспользоваться ob_start (пошловатое решение, имхо).

mustafa
На сайте с 28.10.2005
Offline
202
#6

html-заголоки надо отдавать прежде чем отдаете хоть какой-то текст. Т.е. надо ставить в САМЫЙ верх страницы, до любых тегов.

Bor-ka
На сайте с 16.11.2004
Offline
201
#7
mustafa:
html-заголоки

http правильнее думается

IrokezV
На сайте с 05.03.2006
Offline
153
#8

а как теперь проверить отклик?

P.S. в программировании я ноль, не ругайтесь

Bor-ka
На сайте с 16.11.2004
Offline
201
#9

IrokezV, воспользуйтесь проверкой HTTP заголвоков, например вот здесь:

http://www.promoting.ru/http_headings/

IrokezV
На сайте с 05.03.2006
Offline
153
#10

Всем спасибо, проблема решена.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий