2010/7/22 No1 <nginx-forum@nginx.us>:
> Подскажите тогда как его выгнать из
> статического локейшена.
location / {
root ...;
# обратите внимание, index index.php нет. Все запросы со слешом
(директории) "не найдутся" и уйдут в @php.
try_files $uri @php;
}
location @php {
fastcgi_pass backend;
fastcgi_index index.php;
...
}
В данном случае fastcgi_index нужен. (А у вас был не нужен, потому что
в location ~ \.php$ запросы оканчивающиеся на / не попадали)
> И где почитать что же значит index index.php в
> данном локейшене.Делится на статику(index
> index.php) и динамику (fcgi_index
> index.php)получается?
>
http://sysoev.ru/nginx/docs/http/ngx_http_index_module.html
здесь
Что было и могло быть:
1) Пришёл запрос /basket/?st=1, ну без аргументов /basket/.
2) попал в location /
3) поскольку в локейшне нет *_pass, то он "статический". Отработала
проверка "POST в статику" и вы получили 405
4) index index.php; делает внутренний редирект на /basket/index.php
5) запрос попадает в location ~ \.php$
6) поскольку в локейшне есть *_pass, то он "не статический", проверять
на POST не надо
7) запрос уходит бекенду.
Видимо, вы ожидали, что проверка 3) будет сделана после редиректа 4).
Я бы тоже так ожидал. Но сделано иначе.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru