Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как прверить отдает сервак 404 или 200 ?
цитата
17/11/14 в 22:09
 cherchell2010
ловлю скриптом перевожу на динамику
пишу header("Status: 200 OK", TRUE, 200); везде всегда рабтало
отдает как нормальную страницу но
по лагам 404 пишет
цитата
17/11/14 в 22:41
 Stek
А ты случаем свой скрипт не на 404 обработчик ошибок повесил ?
цитата
17/11/14 в 22:42
 cherchell2010
разумеется. я думаю єт и так понятно
цитата
17/11/14 в 22:45
 ibiz
по "лагам" он всегда будет 404 писать, независимо от переданного тобой хедера trollface.png
цитата
17/11/14 в 22:47
 Stek
Ну так а чего ты хочешь ? Сервер поймал 404, записал в лог, узнал о передаче скрипту, передал. А что там скрипт делает и с каким заголовком, уже не важно.
Т.е. юзер получает 200, а сервер как 404 уже у себя зафиксировал.
цитата
17/11/14 в 22:55
 cherchell2010
так вот именно на одном виртуале.
на всех других хостингах такая инструкция header("Status: 200 OK", TRUE, 200);
помогает получать в логах 200
цитата
18/11/14 в 00:22
 Дартаньян
cherchell2010: trollface.png nginx?
цитата
18/11/14 в 00:38
 ravlio
Какой веб-сервер то? nginx->php fpm (очень сомневаюсь) или nginx->apache->php? Попробуй поставить статус через http_response_code, хотя это в принципе монопенисуально.
Если nginx->apache, то на каком сервере левый статус в логах?

Apache формирует заголовок ответа ещё на этапе запроса. Если файла нет, то это 404. Если стоит обработчик ErrorDocument, то берётся статус из него. Допустим, тот же 404. Далее, статус можно перезаписать оконечным файлом, то бишь твоим скриптом. И если всё правильно сделано, то статус должен перезаписаться и положиться в лог. Если на пути стоит nginx, то он проксирует всё, в том числе и статус, разумеется. Посмотри ещё в браузере, какой итоговый статус у скрипта в хедерах. Если 404, то что-то не так.

Да, если редиректить 404 через mod_rewrite, то статус потом не перезаписать.
цитата
19/11/14 в 01:04
 cherchell2010
вот это я и хочу узнать как в браузере глянуть 200 или 404 ? Где эти хедеры глядеть ?
цитата
19/11/14 в 01:16
 Дартаньян
cherchell2010: браузер то какой? плагин поставь типа http_status.
цитата
19/11/14 в 01:36
 ravlio
cherchell2010 писал:
вот это я и хочу узнать как в браузере глянуть 200 или 404 ? Где эти хедеры глядеть ?

Хром->Консоль разработчика->Network->Headers

цитата
19/11/14 в 03:01
 cherchell2010
хрен найдешь в этом хроме где шо. все около но не то.
Плагин тоже не сразу находится в гугле. поламался наверное гугль. хрень всякую выдает.

Но благо я вспомнил таки что есть еще же php.
Простая команда <?php
$url = 'http://www.example.com';
print_r(get_headers($url));
?>
помогла отцу русской демократии. facepalm.gif

И о ужос выдает 404 . вот же ж. И что делать ? Как исправить положение ?

Array ( [0] => HTTP/1.1 404 Not Found [1] => Date: Tue, 18 Nov 2014 23:56:35 GMT [2] => Server: Apache/2 [3] => X-Powered-By: PHP/5.2.17 [4] => Vary: Accept-Encoding,User-Agent [5] => Connection: close [6] => Content-Type: text/html )
цитата
19/11/14 в 08:37
 cherchell2010
решение проблемы банально простое.
Не нужно было удалять родной хтаксесс smail101.gif
цитата
23/11/14 в 23:54
 cherchell2010
открылись новые любопытные обстоятельства.
Кодировка UTF-8
Если я сохраняю скрипт в utf-8 тогда header("Status: 200 OK", TRUE, 200); не работает.
если скрипт сохранен в ANSI все работает.
Как так ?


тут вычитал то важны первые строки в скрипте в utf-8 перед <?
присутствует такая крякозябра "я¬¬" в анси ее нету

эдитом не видно .как ее убрать ?
цитата
24/11/14 в 00:57
 cherchell2010
notepad++ выбор кодировки utf-8 без BOM . сохранить facepalm.gif

Все ж просто было icon_rolleyes.gif
цитата
24/11/14 в 01:06
 Дартаньян
cherchell2010: trollface.png старя проблема с 2001 года.
цитата
24/11/14 в 01:41
 Stek
Дартаньян писал:
старя проблема с 2001 года.

Порой на эту проблему пол дня уходит smail101.gif


Эта страница в полной версии