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

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Страница не возвращает 404
« : 12.06.2015, 16:36:49 »
После смены тематики сайта остались страницы, которые в новой версии отсутствуют (т.е. отсутствуют их адреса). В вебмастере Google (ошибки сканирования) они помечены как ошибка-404, однако эти страницы возвращают 200, вместо 404 кода : Страница с указанным адресом отсутствует, а сервер не возвращает код ошибки 404 (файл не найден).

В Joomla страница 404 присутствует, но я не могу вставить в нее header() с соответствующим кодом ошибки, ибо файл error.php, перенаправляет на id моей 404-страницы. Вообщем, как мне поступить с этими страницами? Либо как-то впихнуть туда код ошибки, либо удалить URL?
*

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #1 : 12.06.2015, 22:23:03 »
ап
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #2 : 12.06.2015, 22:25:53 »
создайте в индексе PHP и вызов и  тема не продолжиться
error PHP в  темплейте

Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #3 : 12.06.2015, 23:13:53 »
header(404) не вставить в темплейте error.пхп потому что он перенаправляет на другуб страницу, я пробовал толку 0
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #4 : 12.06.2015, 23:16:11 »
мне что PHP ваше сломать? я сразу error сломаю.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #5 : 13.06.2015, 01:31:17 »
ап
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #6 : 13.06.2015, 04:55:40 »
что ап? вы в хсесе создайте перенаправление на error, и будет вам страница любая.
2-ерор Joomla переопределите.
3-у вас вопрос, ручками исправить даже не думая, а вы апаете.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #7 : 13.06.2015, 16:32:13 »
я не понимаю что вы пишите.
У меня шаблоне файл error.пхп он перенаправляет на страницу 404 компонента. Установка заголовка в нем ни к чему не приводит.С файлом error.пхп в систем я не знаю что делать
*

Пастор Шлаг

  • Осваиваюсь на форуме
  • 28
  • 8 / 0
  • Праведный гнев
Re: Страница не возвращает 404
« Ответ #8 : 13.06.2015, 16:37:57 »
http://joomlaforum.ru/index.php/topic,222056.msg1538930.html#msg1538930
Просмотрите, тот код возвращает в Google 404
*

InWish

  • Захожу иногда
  • 73
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #9 : 13.06.2015, 17:40:50 »
Вставил данный код в error.php,  при неверном параметре возвращает страницу 404, также возвращает ее при переходе с гугл-вебмастера на странице с ошибкой 404. Однако при проверке гугботом ссылки-404, возвращает статус не найдено-так должно быть или он должен просканировать страницу и в информации указать код заголовка 404?
*

Пастор Шлаг

  • Осваиваюсь на форуме
  • 28
  • 8 / 0
  • Праведный гнев
Re: Страница не возвращает 404
« Ответ #10 : 13.06.2015, 20:21:39 »
Вставил данный код в error.php...
Вы в мастере Google укажите, что проблемы исправлены, больше они отображаться не будут и все не найденные материалы со временем получат 404.

Сервер отдаёт заголовок 404? Отдаёт. Почитайте подробнее в теме, на которую дал ссылку (перейдите по Основная идея отсюда первый ответ пользователя AHP-net)
« Последнее редактирование: 13.06.2015, 20:29:50 от Пастор Шлаг »
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
Re: Страница не возвращает 404
« Ответ #11 : 01.09.2015, 12:00:28 »
а у меня сайт включен, материал со страницей 404 создан и открывается по адресу /404.html, но при открытии несуществующей страницы редиректит на главную. я уже не знаю, что делать....есть мыли?

вот мой .htaccess, который я не трогала

Код
##
# @package    Joomla
# @copyright  Copyright (C) 2005 - 2015 Open Source Matters. All rights reserved.
# @license    GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that disallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your SEF url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## No directory listings
IndexIgnore *

## Can be commented out if causes errors, see notes above.
#Options +FollowSymlinks
#Options -Indexes

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.


====
ну, в общем-то как обычно, стоило после 3 часов мучений написать вопрос сюда, как нашлось самостоятельное решение))

на сайте установлен VM3, в настройках убрала чек с "Включить в VirtueMart обработку 404 ошибки" и все заработало...хотя совсем нелогично. при этом и не найденные товары тоже переправляет на мою 404 страницу  :dry:
« Последнее редактирование: 01.09.2015, 12:13:45 от Иоланта »
*

Stasweb

  • Завсегдатай
  • 1492
  • 24 / 0
Re: Страница не возвращает 404
« Ответ #12 : 02.03.2016, 15:08:45 »
Так же не возвращает 404-й ответ а отдает 200.
Вот сама страница https://lik-astana.kz/404.html.
Вот error.php в шаблоне
Спойлер
[свернуть]

в htaccess прописана так
Код
ErrorDocument 404 https://lik-astana.kz/404.html
ErrorDocument 500 https://lik-astana.kz/500.html
*

freak861

  • Новичок
  • 1
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #13 : 21.03.2016, 16:44:30 »
Тоже такая же проблема.
В error.php такой код:

<?php
defined('_JEXEC') or die;
if (($this->_error->get('code')) == "404") {
   header("HTTP/1.1 404 Not Found");
   echo "Error";
}?>

Если же удалить строку echo "Error";, то все норм, приходит 404 Not Found. С echo (или если вставить HTML ниже на странице) получаем 200 ОК при наборе ссылки несуществующей страницы. Нужно, чтобы и юзеру было понятно, что нет такой страницы, и сервер отдавал правильный код.
*

Elimelech

  • Захожу иногда
  • 261
  • 2 / 0
Re: Страница не возвращает 404
« Ответ #14 : 27.05.2016, 09:55:12 »
Мне хостер ответил иакое:
Код
У вас в .htaccess есть правила mod_rewrite
RewriteRule .* index.php [F]

и условия к нему. Они перехватывают все запросы и направляют их в обработку в Index.php, поэтому 404 и не работает.
Если закоментировать эти правила, то 404 настройка срабатывает.

В вашем случае 404 ошибку должен выдавать сам скрипт Joomla.

но развет так правильно комментирвоать, а что в Joomla менять так и не понял? страница erro 404 не работает  :(
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #15 : 27.05.2016, 10:09:20 »
Да не нужно вам менять робот и хтсес.
https://docs.joomla.org/Creating_a_Custom_404_Error_Page/ru
простым путём делаете 404
робот максимально меняете для дублей, если до этого плагины не используете, скрывающие это и не лезли в хтсес.
Joomla вам не создаст таких ошибок, если выше перечисленные условия соблюдены.
Ну и ЧПУ в админке правильно должно быть и в корне переименовать хтсес.

// Сами ядро понапичкаете "прелестями" и "советами", а потом избавляетесь от этого в обратном порядке.
« Последнее редактирование: 27.05.2016, 10:21:33 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Elimelech

  • Захожу иногда
  • 261
  • 2 / 0
Re: Страница не возвращает 404
« Ответ #16 : 27.05.2016, 10:43:48 »
https://docs.joomla.org/Creating_a_Custom_404_Error_Page/ru
всё делала как по этой инструкции, не работает на Joomla 2.5 файлик error 404
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #17 : 27.05.2016, 11:34:00 »
всё делала как по этой инструкции, не работает на Joomla 2.5 файлик error 404
а вы уверены, что файл error оригинал?
что именно не работает и  в  каком виде?
у вас нет переопределений никаких в шаблоне?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Elimelech

  • Захожу иногда
  • 261
  • 2 / 0
Re: Страница не возвращает 404
« Ответ #18 : 27.05.2016, 11:38:23 »
в шалоне перенаправлений нет, на ошибку просто перенаправляет на главную и всё, а код 404 не отдаёт сервер, тольок 200
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #19 : 27.05.2016, 11:44:42 »
ну тут надо смотреть админку и ftp.я так не могу предугадать
если хотите-делайте бекап, в личку ссылки и доступ, посмотрю.
раз уже тут пишу-для вас бесплатно, если там будет требовать временных затрат и что-то большее, тогда лично обговорим.
Но думаю у вас просто ошибка в настройке и неправильном ЧПУ+робот+хтсес+создании прав.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Elimelech

  • Захожу иногда
  • 261
  • 2 / 0
Re: Страница не возвращает 404
« Ответ #20 : 27.05.2016, 13:12:33 »
ну тут надо смотреть админку и ftp.я так не могу предугадать
если хотите-делайте бекап, в личку ссылки и доступ, посмотрю.
раз уже тут пишу-для вас бесплатно, если там будет требовать временных затрат и что-то большее, тогда лично обговорим.
Но думаю у вас просто ошибка в настройке и неправильном ЧПУ+робот+хтсес+создании прав.

да как-то стрёмно давать первому встречному права на сайт, тем более, там у меня много других не моих сайтов
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Страница не возвращает 404
« Ответ #21 : 28.05.2016, 10:19:57 »
Ну извините, я, да и многие тут, не телепаты.
Тогда в комм.раздел.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Elimelech

  • Захожу иногда
  • 261
  • 2 / 0
Re: Страница не возвращает 404
« Ответ #22 : 28.05.2016, 10:32:58 »
Ну извините, я, да и многие тут, не телепаты.
Тогда в комм.раздел.
ок
*

Konstanin_by

  • Осваиваюсь на форуме
  • 26
  • 4 / 0
Re: Страница не возвращает 404
« Ответ #23 : 25.09.2016, 00:57:30 »
Всем добра!
Предложу свой вариант кода error.php.
Для сайта был выбран шаблон OrdaSoft Blank template разумеется в последствии допилен и приукрашен.
Только 404 оставалась унылым серым пятном на сайте. Нужно было сделать 404-ю максимально похожей на остальной сайт = шапка + меню + другие модули.
Но как только я добавлял СТАНДАРТНУЮ ПОЗИЦИЮ МОДУЛЯ(<jdoc:include type="modules" name="pocition" style="xhtml" />) страница начинала отдавать код 200.

После экспериментов я получил такой код  error.php
Код: php
<?php
//get language and direction
$doc = JFactory::getDocument();
$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; ?>">
<head>
<title><?php echo $this->error->getCode(); ?> - <?php echo $this->title; ?></title>
    <?php if ($this->error->getCode() == '404') { ?>
    <meta name="robots" content="noindex, nofollow">
    <meta name="robots" content="noarchive" />
    <?php } ?>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i&subset=cyrillic" rel="stylesheet">   
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/style.css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/combineStyle.css" type="text/css">
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/combineShop.css" type="text/css">

    <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery-1.12.4.min.js"></script>
<script type="text/javascript">jQuery.noConflict();</script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery-migrate.min.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/bootstrap/js/bootstrap.js"></script>

<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery.sticky.js"></script>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/custom.js"></script>
</head>
<body class="error">
<div class="header">
<div id="header" class="container header__container">
<div  class="row user__row">
<div id="Search" class="col-lg-3 col-md-3 col-sm-3 col-xs-12">
<?/*<jdoc:include type="modules" name="Search" style="xhtml" />*/?>
<?php  $modules = JModuleHelper::getModules('Search');
                        if ($modules && is_array($modules)) {
                           foreach ($modules as $module) {
                              echo JModuleHelper::renderModule($module);
                           };
                        } ?>
</div>
</div>
<div class="row top3row">
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-12">
    <div id="logo">
            <a href="/">
    <img src="/images/templates/os-basetemplate/logo.png" alt="Logo" />
</a>
    </div>
</div>
<div class="main__excellence col-lg-8 col-md-8 col-sm-8 col-xs-12">
<?/*<jdoc:include type="modules" name="Excellence" style="xhtml" />*/?>
<?php  $modules = JModuleHelper::getModules('Excellence');
                        if ($modules && is_array($modules)) {
                           foreach ($modules as $module) {
                              echo JModuleHelper::renderModule($module);
                           };
                        } ?>
</div>
<div class="main__cotactHead col-lg-2 col-md-2 col-sm-2 col-xs-12">
    <?/*<jdoc:include type="modules" name="CotactHead" style="xhtml" />*/?>
    <?php  $modules = JModuleHelper::getModules('CotactHead');
                        if ($modules && is_array($modules)) {
                           foreach ($modules as $module) {
                              echo JModuleHelper::renderModule($module);
                           };
                        } ?>
</div>
</div>
</div>
</div>
    <div id="all__nav" class="nav__stickys">
        <div class="container">
            <div class="row top4row">               
                <div class="shopCatalog col-lg-3 col-md-3 col-sm-3 col-xs-9">
                    <?/*<jdoc:include type="modules" name="ShopCatalog" style="xhtml" />*/?>
                    <?php  $modules = JModuleHelper::getModules('ShopCatalog');
                        if ($modules && is_array($modules)) {
                            foreach ($modules as $module) { ?>
                                <div class="navbar navbar-default wraper__menu_navbar">
                                    <div class="container-fluid">
                                        <div class="navbar-header menu__nav_shopCatalog">
                                            <button type="button" id="shopCatalogAll" class="navbar-toggle offcanvas-toggle pull-right js-offcanvas-has-events" data-toggle="offcanvas" data-target="#js-bootstrap-offcanvas" style="float:left;">
                                                <span class="sr-only">Toggle navigation</span>
                                                <span class="icon-bar"></span>
                                                <span class="icon-bar"></span>
                                                <span class="icon-bar"></span>
                                            </button>
                                            <span class="navbar-brand"><?php echo $module->title;?></span>
                                        </div>
                                        <div class="navbar-offcanvas navbar-offcanvas-touch" id="js-bootstrap-offcanvas">
                                            <?php echo JModuleHelper::renderModule($module);?>
                                        </div>
                                    </div>
                                </div>
                            <?php };
                        } ?>
                </div>    
                <div class="main_menu col-lg-7 col-md-7 col-sm-7 col-xs-12">
                    <nav class="site-navigation-main navbar" role="navigation">
                        <div class="navbar-header">
                          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-navbar-collapse">
                            <i class="fa fa-bars"></i>
                          </button>
                        </div>
                        <div id="main-navbar-collapse" class="collapse navbar-collapse">
                            <?/*<jdoc:include type="modules" name="Mainmenu" style="xhtml" />*/?>
                            <?php  $modules = JModuleHelper::getModules('Mainmenu');
                                if ($modules && is_array($modules)) {
                                    foreach ($modules as $module) {
                                        echo JModuleHelper::renderModule($module);
                                    };
                                } ?>
                        </div>
                    </nav>
                </div>
                <div class="main__cart col-lg-1 col-md-1 col-sm-1 col-xs-6">
<?php  $modules = JModuleHelper::getModules('Cart');
                        if ($modules && is_array($modules)) {
                           foreach ($modules as $module) {
                              echo JModuleHelper::renderModule($module);
                           };
                        } ?>
</div>
<div class="main__wishlist col-lg-1 col-md-1 col-sm-1 col-xs-6">
<?php  $modules = JModuleHelper::getModules('Wishlist');
                        if ($modules && is_array($modules)) {
                           foreach ($modules as $module) {
                              echo JModuleHelper::renderModule($module);
                           };
                        } ?>
</div>
            </div>
        </div>
    </div>
    <div id="wrapper">
        <div class="container wrapper__box">
            <center>
                <div class="errorbox">
           
                <div class="block">
                   <?/* <h1>404</h1>
            <h3>Page not found</h3>
                </div>
            <p>
                Sorry! The page you are looking for cannot be found. Please use
                the provided search box to find what you are looking for,
                click on our top navigational menu, or    
            </p>*/?>

<?php  $modules = JModuleHelper::getModules('Text-404');
                        if ($modules && is_array($modules)) {
                            foreach ($modules as $module) { ?>                   
                                <div class="container-fluid">                           
                                    <span class="mod__brand">
                                        <h1><?php echo $module->title;?></h1>
                                    </span>                           
                                    <div class="mod__content">
                                        <?php echo JModuleHelper::renderModule($module);?>
                                    </div>
                                </div>                   
                            <?php };
                        };
                    ?>

                <p><a class="btn btn-primary btn-lg" href="<?php echo $this->baseurl; ?>/" title="<?php echo JText::_('HOME'); ?>"><i class="fa fa-chevron-left"></i> <?php echo JText::_('HOME'); ?></a> </p>

                </div>
            </center>
        </div>
    </div>
</body>
</html>

Нужный мне текст вывожу в HTML-модуле c заголовком 404 в позиции Text-404
« Последнее редактирование: 25.01.2019, 09:52:30 от Konstanin_by »
*

Alex_Ivanov

  • Новичок
  • 3
  • 0 / 0
Re: Страница не возвращает 404
« Ответ #24 : 26.09.2016, 14:54:38 »
Спасибо, добрый человек. Помогло.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться