все таки как вылечить 405 ошибку :(
Igor Sysoev
is at rambler-co.ru
Wed Jun 21 14:21:43 MSD 2006
On Wed, 21 Jun 2006, Michail Baikov wrote:
> Igor Sysoev wrote:
>> On Wed, 21 Jun 2006, Michail Baikov wrote:
>>
>>>>>
>>>>>
>>>> я сделал:
>>>>
>>>> location /service/ {
>>>> rewrite /service/ /service/index.php last;
>>>> }
>>>>
>>>> # location / {
>>>> # root /var/www/xxxxxxxx.ru/htdocs;
>>>> # index index.php index.html index.htm;
>>>> # }
>>>>
>>>>
>>>>
>>>>
>>> Оказалось - что отвалилился новый вариант обработки. :(
>>>
>>> location /service/ {
>>> rewrite ^/service/\?(.*)$ /service/index.php?$1 last;
>>> }
>>>
>>>
>>> Все равно при POST с параметрами ?list выводится 405 ошибка :(
>>>
>>> Что тут не так? Пробовал и break...
>>
>> Если нужно делать внутренний редирект только для /service/, то
>>
>> location = /service/ {
>> rewrite ^ /service/index.php last;
>> или
>> rewrite ^/service/ /service/index.php last;
>> }
>>
>> В исходном URI не нужно указывать аргументы ( \?(.*)$ ).
>>
> Этот вариант не работает.
> Объясню конкретно проблему.
>
>
> Клиент посылает запрос:
>
> <form method="post" action="/service/?list">
> <input type="submit">
> </form>
>
> ессно nginx сваливается с 405 ошибкой.
>
> Как сделать чтобы данная форма корректно обрабатывалась. Можно менять
> конфигурацию nginx - можно менять серверную часть кода.
>
> Эту форму изменять нельзя.
>
> Была мысль сделать с помощью rewrite вызов /service/list.php - но что-то
> не получается.
Какой скрипт в кончном этоге должен обрабатывать "/service/?list" ?
Если /service/index.php, то нужно
location = /service/ {
rewrite ^ /service/index.php last;
или
rewrite ^/service/ /service/index.php last;
}
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list