Новости Joomla

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

Ju_mos

  • Новичок
  • 4
  • 0 / 0
Здравствуйте! Сейчас Код статуса HTTP: 302, нужно 404.

Вот полное содержание используемого error.php:
/**
 * @package     Joomla.Site
 * @subpackage  Template.system
 *
 * @copyright   Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
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">
<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
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=710');
exit;} ?>

На других сайтах использую такой код и ответ 404.
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
if ($this->error->getCode() == '404') {
echo file_get_contents(JURI::root().'/error-404');
}
?>

Подскажите в чем ошибка и как исправить? Спасибо.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #1 : 21.02.2018, 14:51:57 »
Замените это
Код
<?php
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=710');
exit;} ?>
на это
Код
<?php
if ($this->_error->get('code') == '404') {
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=710');
exit;} ?>
*

Ju_mos

  • Новичок
  • 4
  • 0 / 0
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #2 : 21.02.2018, 14:55:24 »
При замене получилось вот: Код статуса HTTP   200 OK
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #3 : 21.02.2018, 15:10:28 »
Создайте скрытый пункт меню для своей страницы 404. Поставте ему алиас error-404, а в error.php вставте то же, что используете на других сайтах
*

Ju_mos

  • Новичок
  • 4
  • 0 / 0
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #4 : 21.02.2018, 15:23:28 »
Уже использовала и на этом сайте. Код ответа становится 404, но нет внешнего вида страницы код ошибки, перебрасывает на белый лист с текстом "материал не найден".
*

Missile

  • Завсегдатай
  • 1098
  • 90 / 1
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #5 : 10.03.2018, 14:01:59 »
У меня тоже какая-то фигня с 404 происходит. Сделала кастомную 404 страницу, сделала пункт меню для неё, какое-то время всё было нормально, но теперь заметила, что, если набрать, к примеру, мойсайт.ру/hdhfiryekkhg, то показывается содержимое этой самой кастомной 404 страницы, но адрес в браузере остаётся мойсайт.ру/hdhfiryekkhg.
Шаблон от Yootheme, error.php переписан следующим образом:
Код
// no direct access  
defined('_JEXEC') or die('Restricted access'); 

// get warp 
$warp = require(__DIR__.'/warp.php'); 

// set messages 
$title   = $this->title; 
$error   = $this->error->getCode(); 
$message = $this->error->getMessage(); 

if($this->error->getCode()=='404') {
header("HTTP/1.0 404 Not Found");
$url=JURI::root()."index.php?option=com_content&view=article&id=1261";
$data = file_get_contents($url) or die("Cannot open URL");
    echo $data;
}

И отдаётся при этом код 200.
« Последнее редактирование: 10.03.2018, 14:11:47 от Missile »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #6 : 10.03.2018, 14:09:39 »
заметила, что, если набрать, к примеру, мойсайт.ру/hdhfiryekkhg, то показывается содержимое этой самой кастомной 404 страницы, но адрес в браузере остаётся мойсайт.ру/hdhfiryekkhg
так это ж правильно, так и должно быть
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Missile

  • Завсегдатай
  • 1098
  • 90 / 1
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #7 : 10.03.2018, 14:12:52 »
так это ж правильно, так и должно быть
Так в отладчике видно, что код отдаётся 200, а не 404. И почему мойсайт.ру/hdhfiryekkhg не редиректится на мойсайт.ру/404?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #8 : 10.03.2018, 14:20:22 »
И почему мойсайт.ру/hdhfiryekkhg не редиректится на мойсайт.ру/404?
так он и не должен. если будет редирект будет 301, а не 404

Так в отладчике видно, что код отдаётся 200, а не 404
а вот это неправильно, надо искать причину этого
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #9 : 10.03.2018, 14:26:39 »
И почему мойсайт.ру/hdhfiryekkhg не редиректится на мойсайт.ру/404?
Главная страница какой компонент ? Если com_content - включить роутер экспериментальный, исключить ID, прописать редирект для старых ссылок и должно отдавать 404 и редирект на 404.
*

Missile

  • Завсегдатай
  • 1098
  • 90 / 1
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #10 : 10.03.2018, 19:22:02 »
так он и не должен. если будет редирект будет 301, а не 404
Сейчас посмотрела на некоторых популярных сайтах - да, Вы правы.

Главная страница какой компонент ? Если com_content - включить роутер экспериментальный, исключить ID, прописать редирект для старых ссылок и должно отдавать 404 и редирект на 404.
Com_content, да. Роутер не хотелось бы включать - старый сайт, очень много страниц. А зачем исключать ID, если у меня на материал с кастомной страницей 404 назначен пункт меню?
Самое смешное, что какое-то время после того, как я изменила error.php, с 404-м ответом всё было ОК - проверяла по pr-cy.ru. А теперь глянула для интереса - опять 200. Сама Joomla ничего переписать не должна была, т.к. я error.php меняла в шаблоне.
« Последнее редактирование: 10.03.2018, 19:26:24 от Missile »
*

Troutman

  • Новичок
  • 1
  • 0 / 0
Re: Как убрать 302 редирект из 404 ошибки?
« Ответ #11 : 23.03.2018, 11:37:48 »
Главная страница какой компонент ? Если com_content - включить роутер экспериментальный, исключить ID, прописать редирект для старых ссылок и должно отдавать 404 и редирект на 404.
Включен эксперементальный, ID исключен, ссылка сайт.ру/566684 редирект на 404 и отдает 404, ссылка сайт.ру/dsgfspogtksop редирект даже не на главную, а на какую то смесь. Где покопать что делать? 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать дубли со слэшем с использованием мультиязычного сайта?

Автор polezniy

Ответов: 3
Просмотров: 800
Последний ответ 14.06.2022, 21:06:42
от polezniy
Убрать дубли статьи в Joomla 3

Автор Benderalfa

Ответов: 0
Просмотров: 426
Последний ответ 13.04.2022, 18:45:36
от Benderalfa
Как корректно настроить редирект на без слеша?

Автор polezniy

Ответов: 0
Просмотров: 335
Последний ответ 28.03.2022, 15:36:38
от polezniy
Как сделать универсальный редирект в htaccess?

Автор Lemonez

Ответов: 3
Просмотров: 498
Последний ответ 16.02.2022, 00:38:09
от gartes
В материалах Joomla! 3.10.1 как убрать бейдж "Устарело"

Автор ipdj

Ответов: 1
Просмотров: 831
Последний ответ 02.09.2021, 23:41:59
от NewUsers