Нет данных POST, полученных Symfony

Я борюсь со странной проблемой, так как я нахожусь на совместном сервере. У меня есть брандмауэр, защищающий мою панель администратора, соответствующую всем URL-адресам с / admin / *.

На этой панели администрирования все данные POST, которые я отправляю, не поступают на контроллер.

var_dump($this->get('request')->request->all()) 

дает мне пустой массив, то же самое для:

 var_dump($_POST) 

Это очень раздражает, так как все мои формы и функции CRUD больше не работают … Другие страницы моего сайта (а не на панели администратора) работают правильно.

Консоль Chrome и FireBug показывает мне, что данные отправляются правильно.

Я думаю о проблеме с моими файлами .htaccess:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/$1 [QSA,L] </IfModule> 

У меня есть этот файл в моем каталоге www, чтобы указать на веб-каталог

 RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /web/ RewriteRule ^(.*)$ /$1 [L,R=301] 

И я добавил это в .htaccess своего веб-каталога

Мои брандмауэры:

  firewalls: secured_area: pattern: ^/ anonymous: ~ form_login: login_path: /login check_path: /login_check always_use_default_target_path: true default_target_path: /admin use_referer: true logout: path: /logout target: /login access_control: - { path: ^/admin, roles: ROLE_ADMIN } 

Мой PHP-код функции контроллера:

 public function testAction() { return new Response(var_dump($_POST)); } 

Простая форма HTML:

 <form action="{{path_for_controller}}" method="POST"/> <input type="text" name="search"/> <input type="submit" value="send"/> </form> 

Просто $ this-> get ('request') -> get ('search') дает мне null и POST также пуст.

Спасибо за вашу помощь, я действительно отчаянно …

РЕДАКТИРОВАТЬ

Я заметил, что он работал несколько раз после очистки кеша, но только на мгновение

Я столкнулся с этим вопросом некоторое время назад. Но моя проблема была перенаправлена ​​(переписать). Форма отправляется по правому URL-адресу, но переписывание перенаправляло ее в другое место, а перенаправление не переносится по почтовым данным.

В Chrome-консоли разработчика, если вы проверите Preserve log , вы сможете увидеть его.

Я думаю, что в вашем случае это вызывает проблемы

 RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /web/ RewriteRule ^(.*)$ /$1 [L,R=301] 

Лучше всего настроить Symfony2, я бы сказал, установить DocumentRoot в web каталог, чем делать это через .htaccess

Попробуйте print_r($_GET) в PHP на странице, над которой вы работаете.