<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">Дело в том, что 'destination' передается в заголовках запроса, для правки которых встроенных средств, наверное, нет. Можно попробовать посмотреть в сторону </span><a href="http://wiki.nginx.org/HttpHeadersMoreModule" target="_blank" style="font-size:12.8000001907349px">http://wiki.nginx.org/HttpHeadersMoreModule</a></blockquote><div><br></div><div>Андрей, спасибо! Вопрос был решен с помощью этого модуля. </div></div><div class="gmail_extra"><br><div class="gmail_quote">29 июня 2015 г., 15:57 пользователь Иван Мишин <span dir="ltr"><<a href="mailto:simplebox66@gmail.com" target="_blank">simplebox66@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">Дело в том, что 'destination' передается в заголовках запроса, для правки которых встроенных средств, наверное, нет</span></blockquote></span><div>Да только судя по tcpdump destination то правильный , вот кусочек из дампа:</div><div> </div><div><div>192.168.200.81.50818 > 192.168.200.92.80: Flags [P.], cksum 0xd386 (correct), seq 1:226, ack 1, win 2053, length 225</div><div>E.. |~@...ko...Q...\...P_.G9....P.......MOVE /Family/aa11 HTTP/1.1</div><div>Connection: Keep-Alive</div><div>User-Agent: Microsoft-WebDAV-MiniRedir/6.3.9600</div><div>Destination: <a href="http://192.168.200.92/Family/bb22/aa11" target="_blank">http://192.168.200.92/Family/bb22/aa11</a></div><div>Overwrite: F</div><div>translate: f</div><div>Content-Length: 0</div><div>Host: 192.168.200.92</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">29 июня 2015 г., 12:09 пользователь Andrey Istochkin <span dir="ltr"><<a href="mailto:alstpostbox@gmail.com" target="_blank">alstpostbox@gmail.com</a>></span> написал:<div><div class="h5"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Дело в том, что 'destination' передается в заголовках запроса, для правки которых встроенных средств, наверное, нет. Можно попробовать посмотреть в сторону <a href="http://wiki.nginx.org/HttpHeadersMoreModule" target="_blank">http://wiki.nginx.org/HttpHeadersMoreModule</a> или как-то поизголяться с проксированием на самого себя и выставлением в проксированном запросе нужного заголовка. Но как-то это костыльно все очень.</div><div class="gmail_extra"><br><div class="gmail_quote">29 июня 2015 г., 11:51 пользователь Иван Мишин <span dir="ltr"><<a href="mailto:simplebox66@gmail.com" target="_blank">simplebox66@gmail.com</a>></span> написал:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Не ужели нет никаких вариантов дописать слеш в конец того каталога в который перемещается другой каталог?</div><div class="gmail_extra"><br><div class="gmail_quote">25 июня 2015 г., 14:54 пользователь Иван Мишин <span dir="ltr"><<a href="mailto:simplebox66@gmail.com" target="_blank">simplebox66@gmail.com</a>></span> написал:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Андрей, спасибо, помогло. Добавил break и каталоги удаляются без проблем.<div>Но есть еще один вопрос, касающийся метода MOVE, то есть перемещение каталогов.</div><div><br></div><div>К письму прикрепляю логи.<br><div>Проблема конкретно тут:</div></div><div>2015/07/26 14:48:08 [error] 6735#0: *61 both URI "/Family/Новая папка/" and "Destination" URI "<a href="http://192.168.200.92/Family/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20%282%29/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0" target="_blank">http://192.168.200.92/Family/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0%20%282%29/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0</a>" should be either collections or non-collections, client: 192.168.200.81, server: 192.168.200.92, request: "MOVE /Family/%D0%9D%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0 HTTP/1.1", host: "192.168.200.92"<br></div><div><br></div><div>Винда не понимает сама где каталоги, а где просто файлы.</div><div>То есть в случае метода MOVE я с помощью rewrite дописываю в конце слеш, а вот как дописать слеш к тому каталогу в который я перемещаю первый каталог не понятно. Если к методу PROPFIND дописать </div><div><div>if (-d $webdav_root/$uri) { </div><div> rewrite ^(.*[^/])$ $1/ break;</div><div> }</div></div><div>то в логах просто все зацикливается и все. Может у вас есть какие-то мысля по этому поводу?</div></div><div class="gmail_extra"><br><div class="gmail_quote">25 июня 2015 г., 11:49 пользователь Andrey Istochkin <span dir="ltr"><<a href="mailto:alstpostbox@gmail.com" target="_blank">alstpostbox@gmail.com</a>></span> написал:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Попробуйте в @delete_handler в rewrite добавить 'break'. Так как в access_логе фигурирует 598, то похоже на то, что @delete_handler отрабатывает, отрабатывает rewrite, после чего запрос уходит снова в 'location ^~ /Family', опять отрабатывает 'return 598', но так как recursive_error_pages по-умолчанию выключена, error_page на этот раз не срабатывает, и клиент получает 598.</div><div class="gmail_extra"><br><div class="gmail_quote">25 июня 2015 г., 9:28 пользователь Иван Мишин <span dir="ltr"><<a href="mailto:simplebox66@gmail.com" target="_blank">simplebox66@gmail.com</a>></span> написал:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">в этом случае до винды этот код дойти не должен. если доходит - вы</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">плохо настроили error</span></blockquote><div> </div></span><div>Ну судя по tcpdump на стороне винды, 598 код все же доходит до нее. </div><span><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">про какой? про переход в именованный локейшн? или про то, что код,</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">который для этого используется, наружу отдаваться не должен?</span></blockquote><div><br></div></span><div>И про то и про другое, если не затруднит.</div><div>ВО-первых, PROPFIND метод работает, при том что он организован в моем конфиге тем же способом что и метод DELETE с той лишь разницей что PROPFIND через 599 код работает, а DELETE через 598. Но я так понимаю что-это различие не на что не влияет ибо пробовал менять коды местами и...вот цитата моих слов по этому поводу:</div><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span style="font-size:12.8000001907349px">599 отрабатывает точно правильно потому что метод PROPFIND работает без вопросов. В качестве экспиремента поменял местами 599 и 598 в итоге PROPFIND как работал так и работает а DELETE каталогов как не работал так и не работает.</span></blockquote><div><br></div></span><div>ВО-вторых, мне казалось что если с клиента ( в данном случае с винды) ушел запрос DELETE на nginx и nginx то nginx его должен отработать и каталог удалить, и не важно что он ответит клиент, потому что для клиента этот ответ будет чисто информационным т.е. не будет влиять на результат выполнения первого запроса (запроса на DELETE).</div><div> </div></div><div class="gmail_extra"><br><div class="gmail_quote">24 июня 2015 г., 18:55 пользователь Daniel Podolsky <span dir="ltr"><<a href="mailto:onokonem@gmail.com" target="_blank">onokonem@gmail.com</a>></span> написал:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>> Даниель, можно подробнее пожалуйста про этот момент<br>
</span>про какой? про переход в именованный локейшн? или про то, что код,<br>
который для этого используется, наружу отдаваться не должен?<br>
<div><div>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div></div></div><br></div>
</blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div></div></div><br></div>
<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div></div></div><br></div>
</blockquote></div><br></div>