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

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Ответ сервера 404 - ?
« : 04.08.2016, 16:40:23 »
Добрый день,

Знаю что тема не однократно поднималась...

Но не могу сделать, что б страница: error-404 - сервер отдавал ответ HTTP/1.1 404 Not Found - ?
У меня сейчас отдает 200 OK

Как сделать ответ сервера что б был HTTP/1.1 404 Not Found

Делал как всегда:
1.) Делаем страницу 404, как обычный материал, пишем все что хотим в ней.
C аллиас error-404.

2.) Создаем меню "Фиктивное меню" выводить которое мы не будем.
Создаем пункт этого меню со ссылкой на материал, который создали (ошибка 404).
Пишем аллиас error-404.

3.) Далея копируем из /templates/system/error.php - этот файл в корень вашего шаблона...
Открываем его и все что ниже:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">

Вставляю:
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
   echo file_get_contents(JURI::root().'/error-404');
}
?>

Или

<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: error-404');
exit;} ?>
</html>
« Последнее редактирование: 04.08.2016, 17:45:17 от warlocksp »
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Efanych

  • Глобальный модератор
  • 4684
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Ответ сервера 404 - ?
« Ответ #1 : 04.08.2016, 16:57:20 »
Цитировать
http://siroedspb.ru/error-404
Но не могу сделать, что б страница: error-404 - сервер отдавал ответ HTTP/1.1 404 Not Found - ?
У меня сейчас отдает 200 OK
Сама страница и должна отдавать код 200. Это не страница ошибки, а существующий материал.

Если в error.php вы напишете
Цитировать
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
   echo file_get_contents(JURI::root().'/error-404');
}
?>
,
то на несуществующих страницах ответ сервера будет 404, но это не будет страница материала, а просто содержимое несуществующей страницы будет браться из существующего материала
Создание сайтов, шаблонов, помощь в решении проблем.
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Re: Ответ сервера 404 - ?
« Ответ #2 : 04.08.2016, 17:00:45 »
Сама страница и должна отдавать код 200. Это не страница ошибки, а существующий материал.

Если в error.php вы напишете

Уже просто поставил:
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: error-404');
exit;} ?>

Как мне сделать, подскажите - нужно что б было в шаблоне...
Да если отдельно делать 404 - тогда срабатывает ответ сервера 404
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

Efanych

  • Глобальный модератор
  • 4684
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Ответ сервера 404 - ?
« Ответ #3 : 04.08.2016, 17:04:29 »
Цитировать
Как мне сделать, подскажите - нужно что б было в шаблоне...
Не понял, что нужно сделать. Ваш код с двумя заголовками вряд ли сработает.
Пишите, как я написал выше и не волнуйтесь. Можете ещё саму страницу /error-404 закрыть для индексации в robots.txt
Создание сайтов, шаблонов, помощь в решении проблем.
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Re: Ответ сервера 404 - ?
« Ответ #4 : 04.08.2016, 17:16:10 »
Не понял, что нужно сделать. Ваш код с двумя заголовками вряд ли сработает.
Пишите, как я написал выше и не волнуйтесь. Можете ещё саму страницу /error-404 закрыть для индексации в robots.txt

ОГРОМНОЕ ТЕБЕ СПАСИБО... С меня ++++++
Спасибо...

Решение было перед глазами...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка 1054 Unknown column 'created_by' in 'field list' VirtueMart

Автор Evgen Kulibin

Ответов: 3
Просмотров: 783
Последний ответ 26.02.2023, 01:56:42
от lakshmi
Ошибка 1054 - обновление Joomla 2.5 на 3.4

Автор arevuare

Ответов: 1
Просмотров: 564
Последний ответ 25.09.2019, 14:02:14
от ChaosHead
Как убрать текст на главной?

Автор m03mug08

Ответов: 5
Просмотров: 1062
Последний ответ 07.09.2018, 14:52:24
от Konst
Ошибка 1054 - Unknown column 'u.name' in 'order clause

Автор Shademy

Ответов: 27
Просмотров: 8674
Последний ответ 30.03.2018, 13:41:20
от Roki37
Проблема отображения модулей на шаблоне proto

Автор Artefact

Ответов: 10
Просмотров: 974
Последний ответ 17.08.2017, 18:29:40
от Artefact