Автор Тема: страница 404  (Прочитано 584 раз)

02 Июль 2022, 11:18:17
Ответ #15
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
вопрос  в том как сделать чтобы перейди не существующую ссылку на ссылка в адресной строке и осталась и не изменялась на /page-not-found
02 Июль 2022, 11:21:01
Ответ #16
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
и то  я скинула конроллер не админки а фронта
02 Июль 2022, 11:35:06
Ответ #17
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
вопрос  в том как сделать чтобы перейди не существующую ссылку на ссылка в адресной строке и осталась и не изменялась на /page-not-found
Для этого нужно найти в контроллерах
Tools::redirect('index.php?controller=404');и заменить его на
$this->canonicalRedirection();или вообще удалить.
02 Июль 2022, 11:44:29
Ответ #18
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
выдало что такое прописано в 3 контроллерах

/controllers/front/BestSalesController.php
/controllers/front/CompareController.php
/controllers/front/SupplierController.php

заменила, очистила кеши, все равно перебрасывает
02 Июль 2022, 11:48:15
Ответ #19
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
вопрос  в том как сделать чтобы перейди не существующую ссылку на ссылка в адресной строке и осталась и не изменялась на /page-not-found
Для этого нужно найти в контроллерах
Tools::redirect('index.php?controller=404');и заменить его на
$this->canonicalRedirection();или вообще удалить.
Не так. Менять нужно на
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
$this->errors[] = Tools::displayError('Product not found');

выдало что такое прописано в 3 контроллерах
/controllers/front/BestSalesController.php
/controllers/front/CompareController.php
/controllers/front/SupplierController.php
заменила, очистила кеши, все равно перебрасывает
Для страницы товара /controllers/front/ProductController.php
Для страницы категори /controllers/front/CategoryController.php
...
Для каждой страницы свой контроллер.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
02 Июль 2022, 11:51:44
Ответ #20
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в других контроллерах такого нет Tools::redirect('index.php?controller=404');
02 Июль 2022, 12:17:27
Ответ #21
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
в контроллере категории и так прописано вот

// Check if the category is active and return 404 error if is disable.
        if (!$this->category->active || !Validate::isLoadedObject($this->category) || !$this->category->inShop() || !$this->category->isAssociatedToShop() || in_array($this->category->id, array(Configuration::get('PS_HOME_CATEGORY'), Configuration::get('PS_ROOT_CATEGORY')))) {
            header('HTTP/1.1 404 Not Found');
            header('Status: 404 Not Found');
            $this->errors[] = Tools::displayError('Category not found');
        } else {
            // Check if category can be accessible by current customer and return 403 if not
            if (!$this->category->checkAccess($this->context->customer->id)) {
                header('HTTP/1.1 403 Forbidden');
                header('Status: 403 Forbidden');
                $this->errors[] = Tools::displayError('You do not have access to this category.');
                $this->customer_access = false;
            }
        }

но все равно перенаправялет, а если удалить контрорллер категории и открыть ссылки  категории, то просто без перенапралвения ошибка
03 Июль 2022, 10:48:43
Ответ #22
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Сразу нужно было указать версию prestashop. У вас prestashop 1.6, поэтому
header('HTTP/1.1 404 Not Found');Для версии 1.6 достаточно изменить правило в htaccess
ErrorDocument 404 /index.php?controller=404на
ErrorDocument 404 /
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
04 Июль 2022, 11:22:24
Ответ #23
  • Новичок
  • *
  • Сообщений: 17
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
да версия 1.6, извините что не указала сразу. но оно не работает никак и все я прописала
#If rewrite mod isn't enabled
ErrorDocument 404 /

очистила что только можно было, нет  и все... разве такое бывает?
05 Июль 2022, 10:20:55
Ответ #24
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Для любого товара попробуйте. Должно работать.
Для остальных страниц еще нужно будет добавлять изменения в контроллеры.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!