Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Страница 404

Автор alexburn, 08-11-2016, 13:41:36

« назад - далее »

ВикторияИ

Цитата: Старый от 11-11-2016, 15:28:30строка, которую дала ВикторияИ пишется в .htaccess

ой ))) прошу прошения за то что не уточнила )

Старый, так и знала, что Вы придете и все решите )


alexburnTopic starter

Цитата: Старый от 11-11-2016, 15:28:30Это команда серверу, если страница не найдена, то показывать не серверную заглушку, а вашу, которую вы сами нарисуете.
Расширение файла может быть любым.
Благодарствую за совет, но вот что у меня сейчас (это в .hta):

#включаем редирект при ошибке 404
Errordоcument 404 /404.html

Кто может проверить ответ страницы, например
[spoiler]http://pro-coder.ru/spptati.html[/spoiler]
Какой код выдает страница?

Я не знаю, может это своеобразный прикол CMS, но при обращении на не существующую страницу должно обрабатываться файлом error.php, в котором есть такой код:
$error   = $this->error->getCode();
//$message = $this->error->getMessage();
// set 404 messages
if ($error == '404') {
   //$title   = JText::_('TPL_WARP_404_PAGE_TITLE');
   //$message = JText::sprintf('TPL_WARP_404_PAGE_MESSAGE', JURI::root(false), $warp['config']->get('site_name'));
   //header("HTTP/1.1 404 Not Found");
   //include("/404.html");
   header('Location: /404.html', TRUE, 404);
   exit;
}

Т.е. по сути (а так оно и есть), исключение при обращении на не сующествующую страницу обрабатывается именно в этом месте (инструкции в .hta уже отдыхают, т.к. идет исполнение на сервере), в подтврждение тому, могу менять код ответа в location).
Вот я и хочу разобраться, wtf, и нормально настроить 404 ошибку.

P.S. если что - прoстите за криворукость :)


Старый

А зачем вам менять код ошибки?  :)

Как-то мудрёно у вас получается. У меня не отрабатывается 404-я и сайт долго грузится.

alexburnTopic starter

#13
Цитата: Старый от 11-11-2016, 19:49:59А зачем вам менять код ошибки?
ну это так, для проверки, в этом ли месте можно "подсунуть" свою страницу

Добавлено: 11-11-2016, 20:36:09


По поводу информера яндекса, я не знаю почему грешит на ошибки, информер метрики, вроде, копировал без ошибок

Старый

HEDER простой редирект.
Я вот это не совсем понял:
$error   = $this->error->getCode();


alexburnTopic starter

#15
Цитата: Старый от 11-11-2016, 19:49:59У меня не отрабатывается 404-я
В том-то и дело, что такой страницы не существует, страница выдает 404
HTTP/1.1 404 Not Found

Добавлено: 11-11-2016, 20:43:03


Старый, посмотрите заголовки ответа при переходе на страницу под спойлером (с ошибкой), выдает 404 ?

Добавлено: 11-11-2016, 20:44:43


Цитата: Старый от 11-11-2016, 20:37:54Я вот это не совсем понял:
Это джумловская приколюха, сайт на этом движке. Видимо функция определяет код ответа чего-то...

Старый

#16
Чего-то не соображается.  :)

Но логика какая?
CMS, если не видит страницу, откидывает работу с себя на сервер, а он выдаёт свою 404-ю. Но, если вы укажете альтернативу серверной, то уже сервер вас перекинет на вашу pro-coder.ru/404.html

А у вас, даже если передаётся заголовок (не путайте с title и h1-h6  :) ), то редирект на серверную 404 или CMS`ную отсутствует.

Я так думаю! Вах!  ;D


Добавлено: 11-11-2016, 21:37:20


GET
http://pro-coder.ru/gvhjgvjvh.html

Status: HTTP/1.1 404 Not Found

Location: /404.html

Но страницу не отрисовывает и не пересылает, хотя потуги есть.  :)

Добавлено: 11-11-2016, 21:39:16


Забыл.  :)

alexburnTopic starter

Цитата: Старый от 11-11-2016, 21:13:44Но страницу не отрисовывает и не пересылает, хотя потуги есть. 
Не знаю в чем ошибка, но если я изменю код, который выводит заголовок:
$error   = $this->error->getCode();
//$message = $this->error->getMessage();
// set 404 messages
if ($error == '404') {
   //$title   = JText::_('TPL_WARP_404_PAGE_TITLE');
   //$message = JText::sprintf('TPL_WARP_404_PAGE_MESSAGE', JURI::root(false), $warp['config']->get('site_name'));
   //header("HTTP/1.1 404 Not Found");
   //include("/404.html");
   header('Location: /404.html');
   exit;
}

При таких раскладах выдает 302 :(


batan-92

Цитата: alexburn от 12-11-2016, 11:05:10
Не знаю в чем ошибка, но если я изменю код, который выводит заголовок:
$error   = $this->error->getCode();
//$message = $this->error->getMessage();
// set 404 messages
if ($error == '404') {
   //$title   = JText::_('TPL_WARP_404_PAGE_TITLE');
   //$message = JText::sprintf('TPL_WARP_404_PAGE_MESSAGE', JURI::root(false), $warp['config']->get('site_name'));
   //header("HTTP/1.1 404 Not Found");
   //include("/404.html");
   header('Location: /404.html');
   exit;
}

При таких раскладах выдает 302 :(

1. У Вас строка, которая должна отсылать код ответа- закоментирована.
2. Не видя остального кода- сложно сказать, могу ошибиться. Но если я правильно понял- Вы внутри обработчика ошибки снова перенаправляете на страницу ошибки? Как то странно, но тут не видя остального кода сложно сказать))
3. Замените эту строку:
//header("HTTP/1.1 404 Not Found");
На эту:
header('HTTP/1.1 404 Not Found');
Гадаю по ip, ставлю windows по фoтографии, насылаю вируса, порча коннекта, избавление от большого пинга, изгнание вирусов...
  •  

Dogica

пишите CMS если до сих пор не разобрались
получается что настройки сервера гда находится ваш сайт приоритетнее чем ваш .HTACCESS
DOGICA® 3D World of Dog & Puppy
HTTP://WWW.DOGICA.COM  ;)
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....