Настроить корректный код ошибки 404

  • 6 Ответов
  • 445 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

masimka

  • **
  • 11
  • 0
Добрый день, такая проблема, мой сайт на несуществующие страницы отдает код 200 ОК, а должен отдавать 404 ошибку. http://vsodeystvii.ru/404    Страница выходит с ошибкой 404, но вот код от сервера 200 ОК,   а мне нужно 404.  В чем может быть проблема? подскажите пожалуйста.

*

caleblt

  • ***
  • 52
  • 3
Re: Настроить корректный код ошибки 404
« Ответ #1 : 09.12.2015, 14:35:27 »
В корне шаблона создайте файл error.php и внутри:
<?php
defined('_JEXEC') or die;

if (!isset($this->error))
{
   $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
   $this->debug = false;
}

// Get language and direction
$doc             = JFactory::getDocument();
$app             = JFactory::getApplication();
$this->language  = $doc->language;
$this->direction = $doc->direction;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<?php defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/oshibka-404');?>

Где ссылка /oshibka-404 это ссылка на страницу. Создайте неопубликованное меню и там ссылку на эту страницу.

*

masimka

  • **
  • 11
  • 0
Re: Настроить корректный код ошибки 404
« Ответ #2 : 10.12.2015, 17:14:09 »
Я все сделал, спасибо вам за помощь, но теперь ответ севера от этой страницы следующий.

HTTP/1.1 404 МАТЕРИАЛ НЕ НАЙДЕН
SERVER: NGINX/1.6.3
DATE: THU, 10 DEC 2015 12:05:02 GMT
CONTENT-TYPE: TEXT/HTML; CHARSET=UTF-8
CONNECTION: KEEP-ALIVE
VARY: ACCEPT-ENCODING
X-POWERED-BY: PHP/5.3.29
SET-COOKIE: F56C5235F418BEB658E7E498F3EABD0E=5798357071F42A6A3D8FD3733F4A72A6; PATH=/; HTTPONLY
P3P: CP="NOI ADM DEV PSAI COM NAV OUR OTRO STP IND DEM"
CACHE-CONTROL: NO-CACHE
PRAGMA: NO-CACHE

Вопрос в следующем, почему  ответ "МАТЕРИАЛ НЕ НАЙДЕН"   ведь ошибка должна содержать "NOT FOUND"  почему сервер говорит материал не найден?

*

caleblt

  • ***
  • 52
  • 3
Re: Настроить корректный код ошибки 404
« Ответ #3 : 11.12.2015, 10:38:56 »
Эмм... Я в PHP не программирую, но возможно нужно дописать перед echo: header("HTTP/1.1 404 Not Found (Или любой другой текст)"); http://www.php.su/header

Re: Настроить корректный код ошибки 404
« Ответ #4 : 11.12.2015, 10:44:04 »
Так вы описание можете задать какое захотите:

Цитировать
JError::raiseError(404, 'Not Found');
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг

*

masimka

  • **
  • 11
  • 0
Re: Настроить корректный код ошибки 404
« Ответ #5 : 14.12.2015, 14:36:39 »
у меня сейчас содержимое <?php

defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php

header("HTTP/1.1 404 Not Found");
echo file_get_contents(JURI::root().'/404');
?>   


Но ошибка все равно выходит.    Материал не найден, или категория не найдена.   

Уже замучался выяснять )))

*

masimka

  • **
  • 11
  • 0
Re: Настроить корректный код ошибки 404
« Ответ #6 : 14.12.2015, 14:37:06 »
Эмм... Я в PHP не программирую, но возможно нужно дописать перед echo: header("HTTP/1.1 404 Not Found (Или любой другой текст)"); http://www.php.su/header

попробовал сделать как вы сказали, но результат тот же ((