Site Tools


software:nginx:webdav

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
software:nginx:webdav [2015/07/01 01:03]
– [Nginx and Microsoft Windows WebClient (WebDav)] root
software:nginx:webdav [2015/07/01 01:08]
– [Конфиг nginx для WebDav] root
Line 212: Line 212:
  
  
-===== Проблема 5 - переименование =====+===== Проблема 5 - копирование и переименование =====
 Ноги тут те же что и в п4: отсутствие слеша на конце урла и в Destination заголовке.\\ Ноги тут те же что и в п4: отсутствие слеша на конце урла и в Destination заголовке.\\
 Для решения проблемы с добавлением "/" в заголовок Destinaton нам потребуется модуль headers_more.\\ Для решения проблемы с добавлением "/" в заголовок Destinaton нам потребуется модуль headers_more.\\
  
 **Фикс 6**: **Фикс 6**:
-<code>error_page 597 = @move_handler;+<code>error_page 597 = @copy_move_handler; 
 +if ($request_method = COPY) { 
 + return 597; 
 +}
 if ($request_method = MOVE) { if ($request_method = MOVE) {
  return 597;  return 597;
 } }
  
-location @move_handler {+location @copy_move_handler {
  internal;  internal;
  
Line 231: Line 234:
  }  }
  root $webdav_root;  root $webdav_root;
- dav_methods MOVE;+ dav_methods COPY MOVE;
 }</code> }</code>
-Если кратко, то переносим обработку DELETE в отдельный локейшин (процедуру), дальше проверяем, если удаляется папка то добавляем слеш.\\+
  
  
Line 284: Line 287:
  error_page 599 = @propfind_handler;  error_page 599 = @propfind_handler;
  error_page 598 = @delete_handler;  error_page 598 = @delete_handler;
- error_page 597 = @move_handler;+ error_page 597 = @copy_move_handler;
  open_file_cache off;  open_file_cache off;
  client_max_body_size 50m;  client_max_body_size 50m;
Line 300: Line 303:
  if ($request_method = DELETE) {  if ($request_method = DELETE) {
  return 598;  return 598;
 + }
 + if ($request_method = COPY) {
 + return 597;
  }  }
  if ($request_method = MOVE) {  if ($request_method = MOVE) {
Line 305: Line 311:
  }  }
  
- dav_methods PUT MKCOL; # COPY+ dav_methods PUT MKCOL;
  dav_ext_methods OPTIONS;  dav_ext_methods OPTIONS;
  create_full_put_path on;  create_full_put_path on;
Line 335: Line 341:
  dav_methods DELETE;  dav_methods DELETE;
 } }
-location @move_handler {+location @copy_move_handler {
  internal;  internal;
  
Line 344: Line 350:
  }  }
  root $webdav_root;  root $webdav_root;
- dav_methods MOVE;+ dav_methods COPY MOVE;
 } }
 location / { location / {
software/nginx/webdav.txt · Last modified: 2022/02/05 04:30 by root