nginx понимает и POST, и GET с телом запроса и с query string.
Проблема, насколько я понимаю, была в другом - делался POST
в статический /.
Изначально проблема возникла если делать POST в, например, статический
/?get_var=x
И что должен делать в таком разе nginx ?
Вы попробуйте заPOSTить в статику в Апаче.
В обычной ситуации если делать POST в /?get_var=x то я получал и POST
переменные и $_GET['get_var'] == x
Но начиная с какой-то версии, nginx стал выдавать: 405 Not Allowed
Я уже привёл пример конфигурации,
location / {
index.php;
}
location ~ \.php$ {
fastcgi_pass ...
}
который до 0.3.40 работал так: POST / в первом location превращается
в POST /index.php (потому что на диске есть файл /index.php), который
потом обрабатывается во втором location и уходил на fastcgi_pass ?
Я сейчас думаю, востановить старое поведение или нет.
Но хочу предупредить, что данный конфиг не будет работать, если
статика и php будут разнесены, например, на разные машины - index.php
в статике не будет. Или его придётся дублировать пустыми файлами.
Игорь Сысоев
http://sysoev.ru