Автор Тема: Как создать контроллер чтобы был доступен по ссылке /order/check  (Прочитано 351 раз)

14 Январь 2020, 10:41:23
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день,

Необходимо создать контроллер который был доступен по такой ссылке

/order/check
Подскажите как это можно реализовать

Понятно, что контроллер должен находится здесь:
/controllers/front/CheckController.php,но тогда он будет доступен по ссылке
https://mysite.ru/check
14 Январь 2020, 11:41:36
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В htaccess правила редиректа добавьте для этого контроллера и будет как вам нужно.
14 Январь 2020, 11:48:12
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В htaccess правила редиректа добавьте для этого контроллера и будет как вам нужно.

Можно ли осуществить POST редирект, чтобы POST данные не потерялись?
14 Январь 2020, 11:53:14
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Они не теряются, если хост настроен правильно и в форме action указан правильно адрес.
14 Январь 2020, 11:58:01
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В htaccess правила редиректа добавьте для этого контроллера и будет как вам нужно.
Можно ли осуществить POST редирект, чтобы POST данные не потерялись?
С POST данными проблем нет, это для GET нужно добавлять %{QUERY_STRING} — параметры запроса после знака ?.
14 Январь 2020, 13:19:16
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
POST данные передаются только в этом случае
header("HTTP/1.1 307 Temporary Redirect");
Проверено.
14 Январь 2020, 13:29:02
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
POST данные передаются во всех случаях, только при 301 и 302 редиректах они преобразуются в GET.
Если в форме указать адрес /mysite.ru/mypage.php то POST данные не потеряются при 301 редиректе - Проверено!
14 Январь 2020, 13:42:56
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
POST данные передаются во всех случаях, только при 301 и 302 редиректах они преобразуются в GET.
Если в форме указать адрес /mysite.ru/mypage.php то POST данные не потеряются при 301 редиректе - Проверено!

Спасибо!
Если что, я  POST + redirect осуществлял через CURL
Возможно кому то пригодится...