всем доброго дня.
пытаюсь отконфигурить 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'е, чтобы ничего не проксировать и не плодить сущностей.
в чем может быть дело, куда копать?