Сергей

Ошибка 404. Как редактировать страницу с ошибкой?

Recommended Posts

"Ошибка 404: Страница не найдена."

 

Пришел интересант по ссылке из поисковика - а объект сдан и удален, нет его.

Закроет он браузер и уйдет восвояси на другие сайты.

А как бы ему сообщение выводить вроде "Дорогой товарищ, конкретно этот объект сдан, но можем предложить аналоги - и ссылку на страницу с поиском".

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


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

Предлагаю другой вариант:

если ошибка 404 идет с http://xxx.xx/realtyxxx.html, то выводить например данного объекта нет в базе, и на этой странице показать перечень похожих объектов

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


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

По сути единого центра отлова 404 ошибки сейчас нет. Есть локальные перехваты в виде группы кода

header("Status: 404 Not Found");$this->template->assign('title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND'));$this->template->assign('meta_title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND'));$this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>');$this->template->assign('main_file_tpl', 'error_message.tpl');

Вы можете найти их, в основном, в файле main.php вашего шаблона.

 

Вот это (для шаблона agency расположенное в районе строк 581-641 файла main.php)

 

$this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>');

 

собственно формирует строку, которую получит пользователь при спотыке на 404. Ее можно варьировать.

 

Сам шаблон error_message.tpl по сути выводит только эту строку. В принципе возможно украсить его методом вставки в этот шаблон кастомной html-разметки.

 

Предлагаю другой вариант:

если ошибка 404 идет с http://xxx.xx/realtyxxx.html, то выводить например данного объекта нет в базе, и на этой странице показать перечень похожих объектов

 

В последующих шабонах, начиная с realia при обращении на несуществующий адрес типа http://xxx.xx/realtyxxx.html стандартным обработчиком 404 ошибка возбуждаться не будет. Это связано с особенностью разбора URL-ов запросов. А 404 будет появляться только тогда, когда ни одно из установленных приложений не смогло обработать запрос и нет возможности сформировать хоть какую-нибудь аргументированную сетку объявлений.

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


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

По сути единого центра отлова 404 ошибки сейчас нет. Есть локальные перехваты в виде группы кода

header("Status: 404 Not Found");$this->template->assign('title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND'));$this->template->assign('meta_title', Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND'));$this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>');$this->template->assign('main_file_tpl', 'error_message.tpl');

Вы можете найти их, в основном, в файле main.php вашего шаблона.

 

Вот это (для шаблона agency расположенное в районе строк 581-641 файла main.php)

 

$this->template->assign('error_message', '<h1>'.Multilanguage::_('L_MESSAGE_PAGE_NOT_FOUND').'</h1>');

 

собственно формирует строку, которую получит пользователь при спотыке на 404. Ее можно варьировать.

 

Сам шаблон error_message.tpl по сути выводит только эту строку. В принципе возможно украсить его методом вставки в этот шаблон кастомной html-разметки.

 

 

В последующих шабонах, начиная с realia при обращении на несуществующий адрес типа http://xxx.xx/realtyxxx.html стандартным обработчиком 404 ошибка возбуждаться не будет. Это связано с особенностью разбора URL-ов запросов. А 404 будет появляться только тогда, когда ни одно из установленных приложений не смогло обработать запрос и нет возможности сформировать хоть какую-нибудь аргументированную сетку объявлений.

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

 к примеру если именно этого объекта нет (он удален или скрыт) удобнее наверное сообщить пользователям, типа "возможно данное объявление устарело, удалено или было снято с публикации автором объявления, возможно данный объект продан и нашел своего покупателя благодаря нашему сайту", а дальше механиз следующий запускается таймер секунд на 90 например если пользователь ни чего не будет делать создаться сообщение что мол через надцать минут вы будете перемещены на главную страницу сайта для поиска необходимого объекта, или же как второй вариант выкидывать его на каталог вверх например если объект был в каталоге продажа 1 комнатных квартир, выкидывать на продажу 1комнатных квартир или на просто продажу квартир (там 1-2-3-4комн)

а по остальным проблемам с 404 ошибкой выкидывать в обработчик

а то что сейчас в стоит error_message.tpl

измените условия поиска или нажмите <a href="index.html">вернуться</a>

совсем ни куда не ведет и опять 404 ошибка выходит  тема реалия 

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


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

Если меня будет куда-то автоматически переадрисавывать без моего согласия, то я сразу бегу с такого сайта. Пользователю нужен выбор куда-то пойти.

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


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

Вот пользователь пусть и решает, куда ему пойти... вот так не устраивает?

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


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

Если меня будет куда-то автоматически переадрисавывать без моего согласия, то я сразу бегу с такого сайта. Пользователю нужен выбор куда-то пойти.

 

 

вот и просим что и как сделать чтобы был выбор, а индекс-ссылка сейчас совсем ни куда не смотря на обозначение как "вернуться", самое главное не решается вопрос удобства для посетителя и корректного его выбора и переброски на нужную форму или страницу. В итоге получаем так и желающего выйти или закрыть посетителя, что плохо.

Да и суть не в этом была, видимо не совсем поняли. Речь шла о том что если это объявление действительно есть в базе но не отображается, например истек срок публикации сообщать об этом, а сейчас воспринимается как соовсем ошибочная страница это все равно что вместо ссылки сайт.ру/о_нас  будет ссылка сайт.ру/инфо_о_нас. Тогда да можно сообщять что страница с ошибкой.

Ну так как решение будет какое то?

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


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

Вот пользователь пусть и решает, куда ему пойти... вот так не устраивает?

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

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


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

Да не вопрос, подредактируйте error_message.tpl в редакторе шаблонов:

*Уточняю, это для шаблона Realia, как будет по другим - не в курсе.

<div class="not-found">  <strong>404</strong>  <h1>{$error_message}</h1>  <hr>  <p>Воспользуйтесь поиском ниже или перейдите <a href="/">на главную</a></p>  <p>Please, use search below or <a href="/">go home</a></p></div>  {literal}  <style>    .nfsf form {      width: 100% !important;      }  </style>  {/literal}  <div class="row nfsf">    <div class="span4 offset4">{include file='search_form.tpl'}</div>  </div>

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


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

 

Да не вопрос, подредактируйте error_message.tpl в редакторе шаблонов:

<div class="not-found">  <strong>404</strong>  <h1>{$error_message}</h1>  <hr>  <p>Воспользуйтесь поиском ниже или перейдите <a href="/">на главную</a></p>  <p>Please, use search below or <a href="/">go home</a></p></div>  {literal}  <style>    .nfsf form {      width: 100% !important;      }  </style>  {/literal}  <div class="row nfsf">    <div class="span4 offset4">{include file='search_form.tpl'}</div>  </div>

а для шаблона agency можно код?

а то форма поиска уехала в право... и буквы иероглифами показывают

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


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

а для шаблона agency можно код?

а то форма поиска уехала в право... и буквы иероглифами показывают

/template/frontend/agency/error_message.tpl

Тут

если форма уехала, то видимо что-то не то исправили.

Скрин можно?

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


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

а для шаблона agency можно код?

а то форма поиска уехала в право... и буквы иероглифами показывают

Пересохраните файл в кодировке utf-8.

А форму вы поставили случаем не из поста выше? Так там для шаблона реалия. Вам нужна из вашего шаблона. Попробуйте просто после{/literal} подключить файл include без всякой разметки div.

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


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

подскажите начали ковыряться в оформлении файла с 404 ошибкой вроде как в файле  нет 2 раза вставленного H1, но что у нас, что на сайте реалия.сайтбил  если посмотреть код то там почему то стоит 2 раза H1, не ошибка ли?  возможно {$error_message}  он сам уже включает H1 ???  
что то не совсем понимаем откуда берется задвоение.

попробовали поставить {$error_message} чтобы посмотреть что в нем выводится -в итоге выводится H1, видимо где то при формировании кода, или где эта переменная присваивается там уже H1 вставляется. В итоге вставляется  <h1>Ошибка 404: страница не найдена</h1
понятно что можно вставить свой текст предварительно поместив его в H1, нов се же формирование  $error_message возможно с ошибкой

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


Ссылка на сообщение
Поделиться на других сайтах
В 16.02.2016 в 18:59, Chernetskiy сказал:

Вот пользователь пусть и решает, куда ему пойти... вот так не устраивает?

Игорь Иваныч, подскажите пожалуйста как так сделать? что куда нужно написать или вставить?

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


Ссылка на сообщение
Поделиться на других сайтах
В 16.02.2016 в 20:58, Chernetskiy сказал:

Да не вопрос, подредактируйте error_message.tpl в редакторе шаблонов:

*Уточняю, это для шаблона Realia, как будет по другим - не в курсе.


<div class="not-found">  <strong>404</strong>  <h1>{$error_message}</h1>  <hr>  <p>Воспользуйтесь поиском ниже или перейдите <a href="/">на главную</a></p>  <p>Please, use search below or <a href="/">go home</a></p></div>  {literal}  <style>    .nfsf form {      width: 100% !important;      }  </style>  {/literal}  <div class="row nfsf">    <div class="span4 offset4">{include file='search_form.tpl'}</div>  </div>

куда там это запихать? если можно скриншот шаблона.:)

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Helenblondi сказал:

куда там это запихать? если можно скриншот шаблона.:)

Елена, заходим в Редактор шаблонов, правим шаблон error_message.tpl, а конкретно, вот содержимое моего шаблона:

<div class="not-found">
  <strong>404</strong>
  <h1>{$error_message}</h1>
  <hr>
  <p>Воспользуйтесь поиском ниже или перейдите <a href="/">на главную</a></p>
  <p>Please, use search below or <a href="/">go home</a></p>
</div>
  {literal}
  <style>
    .nfsf form {
      width: 100% !important;
      }
  </style>
  {/literal}
  <div class="row nfsf">
    <div class="span4 offset4">{include file='search_form.tpl'}</div>
  </div>

Можешь некоторые фразы поправить на своё усмотрение или что-то добавить. Как выглядит - здесь. Я форму поиска сместил ниже...

Если хочешь, можешь сделать форму поиска справа (как на главной), а сообщение об ошибке левее (где на главной расположены объекты), соответственно засунуть код с поиском в <div class="span3"> а с сообщением в <div class="span9">, может у поиска стиль поправить прийдется.

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


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, Chernetskiy сказал:

Елена, заходим в Редактор шаблонов, правим шаблон error_message.tpl, а конкретно, вот содержимое моего шаблона:


<div class="not-found">
  <strong>404</strong>
  <h1>{$error_message}</h1>
  <hr>
  <p>Воспользуйтесь поиском ниже или перейдите <a href="/">на главную</a></p>
  <p>Please, use search below or <a href="/">go home</a></p>
</div>
  {literal}
  <style>
    .nfsf form {
      width: 100% !important;
      }
  </style>
  {/literal}
  <div class="row nfsf">
    <div class="span4 offset4">{include file='search_form.tpl'}</div>
  </div>

Можешь некоторые фразы поправить на своё усмотрение или что-то добавить. Как выглядит - здесь. Я форму поиска сместил ниже...

Если хочешь, можешь сделать форму поиска справа (как на главной), а сообщение об ошибке левее (где на главной расположены объекты), соответственно засунуть код с поиском в <div class="span3"> а с сообщением в <div class="span9">, может у поиска стиль поправить прийдется.

спасибо большое Игорь Иваныч. Чудесно вышло. Мне вот только интересно а можно в файле робот тхт вообще поставить запрет на страницу, которую нужно убрать из выдачи (например чтобы не индексировалась форма обраной связи)

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


Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, Helenblondi сказал:

спасибо большое Игорь Иваныч. Чудесно вышло. Мне вот только интересно а можно в файле робот тхт вообще поставить запрет на страницу, которую нужно убрать из выдачи (например чтобы не индексировалась форма обраной связи)

Можно, добавь туда 

Disallow: /contactus/

хотя она уже должна бать указана. (Если это про "Написать нам", может у тебя другая форма?)

В любом случае, этим даешь команду поисковику - исключить, но поисковики решение принимают самостоятельно.

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


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Chernetskiy сказал:

Можно, добавь туда 


Disallow: /contactus/

хотя она уже должна бать указана. (Если это про "Написать нам", может у тебя другая форма?)

В любом случае, этим даешь команду поисковику - исключить, но поисковики решение принимают самостоятельно.

а ссылку на страницу которую ты не хочешь индексировать

Disallow: www.fazenda.com так?

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


Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, Helenblondi сказал:

а ссылку на страницу которую ты не хочешь индексировать

Disallow: www.fazenda.com так?

Нет, если весь сайт, то так:

Disallow: /

только это полностью закроет сайт от индексации.

Например, закрыть видимость раздела Экскурсии-продажа, то так:

Disallow: /exskyrsii_prodaja

или на статью Открытие счета иностранной фирмы:

Disallow: /article/otkritie-scheta-inostrannoy-firmi-v-bolgarii.html

 

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


Ссылка на сообщение
Поделиться на других сайтах
В 08.01.2018 в 23:59, Chernetskiy сказал:

Нет, если весь сайт, то так:


Disallow: /

только это полностью закроет сайт от индексации.

Например, закрыть видимость раздела Экскурсии-продажа, то так:


Disallow: /exskyrsii_prodaja

или на статью Открытие счета иностранной фирмы:


Disallow: /article/otkritie-scheta-inostrannoy-firmi-v-bolgarii.html

 

у меня сайт лезет в поиске с www. а у меня его нет с www.

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


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

Елена, возможно это старые ссылки, которые могут где-то висеть на сторонних порталах и в рекламе. Смотри в поиске, возможно надо пройтись по этим порталам и поменять ссылку. Хотя, большой разницы нет, скорее всего поисковики склеили твой домен с www и без www воедино и особой разницы нет по какой ссылке посетители прийдут на твой сайт, оба варианта считаются относящимися к твоему сайту.

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


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

Создайте аккаунт или войдите для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

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

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас