Jump to content
Sign in to follow this  
afwollis

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

Recommended Posts

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

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

вставить

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

Спасибо, @riny.

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

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

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

Edited by afwollis
  • +1 1

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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");
?>
 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

В контроллерах продукта (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');
 

 

Edited by Zeppelin
  • +1 2

Share this post


Link to post
Share on other sites

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

 

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

 

В контроллерах продукта (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...

Share this post


Link to post
Share on other sites

Только появляется проблема - гуглбот получает на живых страницах 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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

  • +1 1

Share this post


Link to post
Share on other sites

Корректное написано в #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
 
Честно говоря, не совсем понимаю относится ли описание проблемы в данной ветке форума к моей тоже
Попадает ли моя проблема под это описание?

Share this post


Link to post
Share on other sites

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

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

  • +1 1

Share this post


Link to post
Share on other sites
 

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.