fastcgi split path info для owncloud

F0iL nginx-forum на nginx.us
Ср Окт 19 05:32:37 UTC 2011


всем доброго дня.
пытаюсь отконфигурить nginx для работы с
owncloud,
как написано на их сайте:
http://owncloud.org/install/advanced/ (во второй
половине страницы).
конфиг:

server {
listen 80;
server_name example.com www.example.com; #name server

root /var/www/ownclouddir; 
client_max_body_size 1000M;
index index.php index.html index.htm;

dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:r;

# Below there is only what you need to have php-fastcgi
location ~ \.php$ {
root /var/www/ownclouddir;
fastcgi_pass 127.0.0.1:9000; 
include /etc/nginx/fastcgi_params; 
fastcgi_param SCRIPT_FILENAME
/var/www/ownclouddir/$fastcgi_script_name;
fastcgi_index index.php;

}


location / {
 index index.php;
 try_files $uri $uri/ @webdav;
 }

 location @webdav {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_param SCRIPT_FILENAME
/var/www/ownclouddir/$fastcgi_script_name;
include /etc/nginx/fastcgi_params; 
 fastcgi_pass 127.0.0.1:9000;
 }

}


проблема следущая:
для работы owncloud нужно, чтобы обращения
к урлу вида
http://xxxxxxx.pp.ru/owncloud/files/webdav.php/files/xxxxx
обрабатывались скриптом
http://xxxxxxx.pp.ru/owncloud/files/webdav.php

для этого, собственно, и используется
параметр  fastcgi_split_path_info
однако по факту, 
http://xxxxxxx.pp.ru/owncloud/files/webdav.php работает
отлично, а
http://xxxxxxx.pp.ru/owncloud/files/webdav.php/files/xxxxx -
выдает "No input file selected", то есть nginx
почему-то передает FastCGI-серверу путь до
скрипта целиком (как в урле), и тот,
естественно, не может этот файл найти.

в списке рассылки owncloud посоветовали
исправить регексп в выражении на
fastcgi_split_path_info ^(.+\.php)(/.*)$;
но результат тот же самый.

в апаче и lighttpd все работает отлично, но
хочется все-таки реализовать это
именно на nginx'е, чтобы ничего не
проксировать и не плодить сущностей.

в чем может быть дело, куда копать?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,216890,216890#msg-216890



Подробная информация о списке рассылки nginx-ru