Вопрос Virtuemart 2 не выдаёт ошибку 404 при переходе на ссылку удалённого товара.

Тема в разделе "Хаки и модификации", создана пользователем igordyak67, 04.12.2015.

  1. Offline

    igordyak67 Недавно здесь

    Регистрация:
    30.09.2013
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Уважаемые господа!

    Перерыл ВСЁ! Требуется помощь, так как в интернете полного решения вопроса нет.

    Суть в том, что в VM2 в связке с Joomla 2.5 изначально не выдавалась ошибка 404 при вводе некоректных URL типа: site.ru/asfasff, а перенаправляло на главную. С категориями товаров и главной страницей, вроде задачу решил путём вставки:

    в /components/com_virtuemart/virtuemart.php, на строке 111, вместо

    Код (CODE):
    1. $mainframe->redirect(JRoute::_ ('index.php?option=com_virtuemart&view=virtuemart', FALSE));

    Данный код:

    Код (CODE):
    1. JError::raise(E_ERROR,'404','Not found');
    2.       $mainframe->close();

    Но возник главный вопрос:

    ЕСЛИ ТОВАР БЫЛ УДАЛЁН, ТО ПРИ ПЕРЕХОДЕ ПО ЕГО URL ССЫЛКА ПРЕОБРАЗУЕТСЯ В
    site.ru/название_категории?error=404


    Всё бы ничего, но мало того,что не выдаётся страница ошибки 404, поисковик получает неправильный сигнал 303. Начал смотреть решения в интернете, но таковых не оказалось, только поверхностно разбирались темы.

    Вопрос с выдачей страницы error 404 решил, но сигнал всё равно передаётся неправильный.
    Сделал следующее:

    В templates\шаблон\html\com_virtuemart\category\default.php
    Добавил после строки defined ('_JEXEC') or die('Restricted access'):

    Код (CODE):
    1. $input = JFactory::getApplication()->input;
    2. if($input->getInt('error', 0) === 404)
    3. {
    4.     JError::raise(E_ERROR,'404','Not found');
    5.     $mainframe->close();
    6. }

    Так как программирование знаю поверхностно, даже это далось с большим трудом. Моя задача всё-таки заставить выдавать сигнал поисковику error 404, при переходе на удалённый товар.

    ПРИЛАГАЮ ИЗОБРАЖЕНИЕ С ТАКОЙ ЖЕ ПРОБЛЕМОЙ. На нём видно, что по ссылке /женская_одежда/штаны?error=404 находился товар, который ранее располагался по адресу /женская_одежда/штаны/товар

    Форумчане, возможно кто-то сталкивался с таким вопросом, я уже потерял надежду решить его.
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Есть пункт меню на главную Вирт ?
     
  4. Offline

    igordyak67 Недавно здесь

    Регистрация:
    30.09.2013
    Сообщения:
    2
    Симпатии:
    0
    Пол:
    Мужской
    Virtuemart 2 находится на главной странице.
     
  5. OlegM
    Offline

    OlegM Russian Joomla! Team Команда форума

    Регистрация:
    12.04.2007
    Сообщения:
    4 311
    Симпатии:
    375
    Пол:
    Мужской
    Не пробовал добавить
    Код (PHP):
    1. header('HTTP/1.0 404 Not Found');

    ?
     

Поделиться этой страницей

Загрузка...