afwollis

404 Not Found - Отправляем корректный заголовок

14 сообщений в этой теме

Много раз обсуждалось, вариантов решения несколько, но вот самый простой:

в самом начале файла /catalog/view/theme/[ваша тема]/template/error/not_found.tpl

вставить

<?php
header ("HTTP/1.1 404 Not Found");
?>

Спасибо, @riny.

Обращаем ваше внимание на то, что этот вариант нежелательно использовать, так как посылать заголовок из шаблона, мягко говоря, неправильно.

Позже опубликуем тут самое корректное решение.

Спасибо rb2 за волшебный пендель :ugeek:

Изменено пользователем afwollis
-1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему может не редиректить на not_found.tpl

Или как правильно это прописать?

Сейчас что ни вобью - все одно выдает вбитые URL вместо спец страницы.

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

maxun, маятваянипанимай

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

maxun, маятваянипанимай

 

Вот содержимое not_found.tpl

 

<?php echo $header; ?><div id="contentwrapper"><?php echo $column_left; ?><?php echo $column_right; ?>
<div id="content"><?php echo $content_top; ?>
  <div class="breadcrumb">
    <?php foreach ($breadcrumbs as $breadcrumb) { ?>
    <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
    <?php } ?>
  </div>
  <h1><?php echo $heading_title; ?></h1>
  <div class="content"><?php echo $text_error; ?></div>
  <div class="buttons">
    <div class="right"><a href="<?php echo $continue; ?>" class="button"><?php echo $button_continue; ?></a></div>
  </div>
  <?php echo $content_bottom; ?></div></div>
<?php echo $footer; ?>
 

 

Куда тут надо вписать

<?php
header ("HTTP/1.1 404 Not Found");
?>
 
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

да ты шутник, как я посмотрю.

читаешь темы только со второго сообщения?

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

по этой ссылке можно проверить вывод заголовков как для разных браузеров, так и для поисковых роботов

 

Кстати, мне больше понравился вот такой совет:

 

В контроллерах продукта (catalog/controller/product/product.php), категории (catalog/controller/product/category.php), производителя (catalog/controller/product/manufacturer.php) и т.п. где это необходимо :)

 

перед


       if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
                $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
            } else {
                $this->template = 'default/template/error/not_found.tpl';
            }
 

 

нужно вставить

 

              $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found');
 

 

Изменено пользователем Zeppelin
2

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

по этой ссылке можно проверить вывод заголовков как для разных браузеров, так и для поисковых роботов

 

Кстати, мне больше понравился вот такой совет:

 

В контроллерах продукта (catalog/controller/product/product.php), категории (catalog/controller/product/category.php), производителя (catalog/controller/product/manufacturer.php) и т.п. где это необходимо :)

 

перед

       if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
                $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
            } else {
                $this->template = 'default/template/error/not_found.tpl';
            }
 

 

нужно вставить

 

              $this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . '/1.1 404 Not Found');
 

 

Только появляется проблема - гуглбот получает на живых страницах 404...

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Только появляется проблема - гуглбот получает на живых страницах 404...

 

можешь пояснить, по какой причине это может происходить?

 

ЗЫ Скормил реальную страницу с внесенными вышеописанными изменениями ГуглоБоту.

Вот какой получился выод. Съел с удовольствием и даже страничку показал :) Весь вывод приводить не стану, смысла не вижу.

 

 

Просмотреть как Googlebot

Вот как поисковый робот Googlebot просканировал вашу страницу.

URL: http://selato.ru/accessories/stimpank-aksessuary/stimpank-chasy-karmannye/chasy-karmannye-s-rimskimi-tsiframi/

Дата: понедельник, 29 апреля 2013 г., 0:33:12 GMT-07:00

Тип робота Googlebot: Веб

Время загрузки (в миллисекундах): 743

 

Вот еще вывод инфы Тоже ГуглоБот.

 

http://www.bertal.ru/index.php?a772906/selato.ru/accessories/stimpank-aksessuary/stimpank-chasy-karmannye/chasy-karmannye-s-rimskimi-tsiframi/#h

 

HTTP/1.1 200 OK

Server: nginx/0.8.55

Date: Mon, 29 Apr 2013 07:38:27 GMT

Content-Type: text/html; charset=utf-8

Connection: keep-alive

X-Powered-By: PHP/5.2.17

Set-Cookie: PHPSESSID=fac2c6b53f4a440f56b5a46b19ec5be5; path=/

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Set-Cookie: language=ru; expires=Tue, 29-Oct-2013 07:38:27 GMT; path=/

Set-Cookie: currency=RUB; expires=Tue, 29-Oct-2013 07:38:27 GMT; path=/

Set-Cookie: personalRecentlyViewed=144; expires=Wed, 29-May-2013 07:38:27 GMT; path=/; domain=selato.ru

Content-Language: ru-RU

 

Причин для твоих сомнений я не вижу

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ок - скорее всего причина в чем то другом - но если я закомментил эти строки в контроллерах - то все стало индексироваться. 

Где то есть косяк пока что грешу на shoppica2(о да я вляпался в этот "замечательный" шаблон)...

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обращаем ваше внимание на то, что этот вариант нежелательно использовать, так как посылать заголовок из шаблона, мягко говоря, неправильно.

Позже опубликуем тут самое корректное решение.

 

Здравствуйте, а подскажите корректного решения не нашли еще?

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Корректное написано в #6, @Zeppelin. Полный список файлов для 1.5.1.3 публиковался у меня в блоге - выдача http/404 вместо 200 для товаров, отключенных администратором. Для других версий всё то же самое - состав файлов будет либо точно такой же, либо с минимальными изменениями.

Ещё более правильным было бы отдавать этот заголовок в мнэ-э-э... "более едином" месте, что ли. Чтобы не вносить этот заголовок в десятке мест, а регулировать в одном (common/not_found.php, common/not_found.tpl). По этой причине Даниэль когда-то отфутболил этот патч, и до сих пор уже года 2 отдаётся 200 вместо 404.

Логичным был бы редирект на 404 страницу. Сейчас лишь включается tpl от 404 страницы, а контроллер не отрабатывает (если я правильно понимаю) - потому и не видно правильного заголовка.

1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Корректное написано в #6, @Zeppelin. Полный список файлов для 1.5.1.3 публиковался у меня в блоге - выдача http/404 вместо 200 для товаров, отключенных администратором. Для других версий всё то же самое - состав файлов будет либо точно такой же, либо с минимальными изменениями.

Ещё более правильным было бы отдавать этот заголовок в мнэ-э-э... "более едином" месте, что ли. Чтобы не вносить этот заголовок в десятке мест, а регулировать в одном (common/not_found.php, common/not_found.tpl). По этой причине Даниэль когда-то отфутболил этот патч, и до сих пор уже года 2 отдаётся 200 вместо 404.

Логичным был бы редирект на 404 страницу. Сейчас лишь включается tpl от 404 страницы, а контроллер не отрабатывает (если я правильно понимаю) - потому и не видно правильного заголовка.

 

Здравствуйте!

У меня проблема такая: при нажатии в блоке Категории на ссылку Комплектующие, если это происходит на хостинге, то вылетает сообщение

1)

Error occurred: 404 - not found

Apache Server ....при этом в адресной строке http://site.ru/desktops
 
2) если на локальном проделать тоже самое, то открывается страница XAMPP (аналог Денвера) и в адресной строке адрес XAMPP
 
Честно говоря, не совсем понимаю относится ли описание проблемы в данной ветке форума к моей тоже
Попадает ли моя проблема под это описание?
0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

поисковику пофигу что там в адрессной строке - он обробатывает ответ сервера и заголовок

PS а то что у Вас не работает чпу - это проблема htaccess скорее всего...переименуйте его в .htaccess
и прочитайте вот эту ветку: тык

1

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах
 

поисковику пофигу что там в адрессной строке - он обробатывает ответ сервера и заголовок

PS а то что у Вас не работает чпу - это проблема htaccess скорее всего...переименуйте его в .htaccess
и прочитайте вот эту ветку: тык

 .htaccess переименован

 

может ли это быть связано с последствиями установки некоторых модулей seo???

 

Кстати, такое происходит со всеми ссылками на продукты Apple

0

Поделиться этим сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.


Войти

  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.