Задать вопрос

Внешний сервис не может получить страницу на yii2?

Вообщем есть yii2, работающий не из корня, а в папке /coupons. Есть редиректы в .htaccess, чтобы все работало.
Есть страница /coupons/cart/payment, которая работает через браузер.

Есть банковский шлюз, который при успешной оплате посылает POST запрос на адрес /coupons/cart/payment и получает ошибку 400. Вот лог сервера:
193.93.56.240 - - [20/May/2015:11:43:31 +0300] "POST /coupons/cart/payment HTTP/1.0" 400 16683 "-" "Java/1.6.0_35"


Если положить файлик в корень и направить запрос на него (например /coupons/result.php), то все работает.

/www/coupons/.htaccess
RewriteEngine on
RewriteRule ^static(.*)$ /coupons/web/static$1 [L]
RewriteRule ^uploads(.*)$ /coupons/web/uploads$1 [L]
RewriteRule ^assets(.*)$ /coupons/web/assets$1 [L]
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/].*)?$ /coupons/web/index.php$1


/www/coupons/web/.htaccess
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php


Вопрос - как сделать так, чтобы ошибки 400 не было?
  • Вопрос задан
  • 202 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
twixoff
@twixoff Автор вопроса
Все оказалось просто - необходимо отключить проверку csrf для контроллера:

public $enableCsrfValidation = false;

www.yiiframework.com/doc-2.0/yii-web-controller.ht...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@maxyc_webber
Web-программист
разрулить что?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы