Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: header 404

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: как сделать?
ZeiZ
Отправлено: 16 Марта, 2011 - 00:58:46
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




есть небольшая функция, которая ловит ошибки в переменных $_POST, $_GET, $_COOKIES, $_FILE и пр, так же используется при непридвиденых обстоятельствах (mysql_num_rows($sq) == 0)) при том, что результат должен быть получен 100%, т.е. некая обвертка ошибок. Она пишет лог и перенаправляет на 404.php

404.php
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   header("HTTP/1.0 404 Not Found");
  3.   //header("Status: 404 Not Found");
  4. ?>


первый вариант вроде правильный, но и 1-ый и 2-ой попробовал - косяк.
браузер отвечает 200-OK! и пустая страница.

Как правильно написать header???
Спасибо

P.S. По логам чаще всего "спотыкаются" поисковики, более того они индексируют эти страницы. Особенно рамблер-бот, который, если видит id, то начинает бродить по ней, вплоть до id=1500, хотя реальный ИД - (например) 3,15,18,24,25-32,105. при остальных идёт редирект на 404.php, который он индексирует, хотя и пустой, но "HTTP/1.1 200 OK" вместо 404.
(Добавление)
PP.S. Не совсем в курсе http состояния протокола, но можно ли без особых костылей сделать: скажем поисковикам HTTP/1.0 404 Not Found и при этом вывести некий шаблон с html содержанием а-ля
http://slando[dot]ru/0[dot]html или http://habrahabr[dot]ru/1/ - вот такие заглушки.
PPP.S. slando - codeigniter, habra - livestreet CMS + Sphinx, если кому интересно и кто не знает =)

(Отредактировано автором: 16 Марта, 2011 - 01:22:04)

 
 Top
Ch_chov
Отправлено: 16 Марта, 2011 - 05:41:36
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


Помог: 90 раз(а)




Для поисковиков есть robots.txt и лучше отдавать им не 404, 301 редирект.
 
 Top
ZeiZ
Отправлено: 16 Марта, 2011 - 14:00:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Ch_chov Спасибо

а по вопросу?
 
 Top
Viper
Отправлено: 16 Марта, 2011 - 14:33:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ZeiZ а если отослать 403 тоже будет 200? А если запросить несуществующий урл?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ZeiZ
Отправлено: 16 Марта, 2011 - 15:23:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Viper

Выдаёт

CODE (htmlphp):
скопировать код в буфер обмена
  1. HTTP/1.1 403 Forbidden
  2. Date: Wed, 16 Mar 2011 13:21:21 GMT
  3. Server: Apache
  4. X-Powered-By: PHP/5.2.10
  5. Vary: Accept-Encoding,User-Agent
  6. Content-Encoding: gzip
  7. Content-Length: 20
  8. Keep-Alive: timeout=15, max=55
  9. Connection: Keep-Alive
  10. Content-Type: text/html
  11.  


но при этом опять чистая страница, а надо как минимум ошибку состояния (как в браузерах по умолчанию)

написал так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   header('HTTP/1.1 403 Forbidden');
  3. ?>

(Отредактировано автором: 16 Марта, 2011 - 15:25:29)

 
 Top
Мелкий Супермодератор
Отправлено: 16 Марта, 2011 - 15:35:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




ZeiZ пишет:
но при этом опять чистая страница, а надо как минимум ошибку состояния (как в браузерах по умолчанию)

Ну так и высылайте следом содержание страницы-ошибки.
Всё, код ошибки получен, поисковики отвалятся, проигнорировав дальнейший документ. А простым смертным (с) страница покажется.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 16 Марта, 2011 - 15:46:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ZeiZ пишет:
Как правильно написать header???
В качестве возможного варианта решения предполагаемой задачи, заключающейся в осуществлении модификации передаваемых информационных полей конфигурации ассоциированного HTTP-документа, допустимо использование предшествующего управляющего CGI-приложения, обеспечивающего внедрение полной схемы управлением переназначения правиами ассоциации виртуальных URL-путей и целевых исполняемых объектов, на основании чего возможно проведение передачи произвольных HTTP-состояний в управляемой виртуальной области хоста web-сервера


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Viper
Отправлено: 16 Марта, 2011 - 15:52:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




ZeiZ собстно Мелкий прав. После посылки хидера показывайте страницу 404.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ZeiZ
Отправлено: 16 Марта, 2011 - 15:57:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


Помог: 0 раз(а)




Мелкий вообще, да, так и хотел. спасибо +1 карме Радость
 
 Top
JustUserR
Отправлено: 16 Марта, 2011 - 16:08:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Viper пишет:
ZeiZ собстно Мелкий прав. После посылки хидера показывайте страницу 404.
Использование предполагамого варианта решения целевой задачи не осуществляет генерацию пользовательских инстнаций web-страниц, производимых в единой области управления сопоставлением целевых виртуальных URL-адресов и реальных исполняемых объектов, в силу чего достижение генерации унифицированного однопроходного HTTP-документа не производится


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB