все таки как вылечить 405 ошибку :(

Michail Baikov lists at baikov.com
Wed Jun 21 14:32:54 MSD 2006


Igor Sysoev wrote:
> 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
> 
> 
Все - разобрался. Спасибо.

-- 
Mike Baikov <mike at baikov dot com>
GameDot Labs Developer







More information about the nginx-ru mailing list