LINUX.ORG.RU
ФорумAdmin

Nginx, не скачивается файл с расширением php

 ,


0

2

Приветствую! Есть проблема, гугл не помог к сожалению.

Отдаю файлы на скачивание через nginx используя заголовок X-Accel-Redirect. Все прекрасно, кроме одного, не скаичваются файлы с расширением php. Т.е. формируется ссылка вида http://example.com/file/hash/script.php.

Сам script.php находится в директории ниже корня сайта в папке /var/www/servers/files/{hash}/script.php

Log

open() "/var/www/example.com404" failed (2: No such file or directory), client: 127.0.0.1, server: $domain, request: "GET /file/5YTK9HHsW8WC6u6Y0VuYMYwfrjxtegRx/script.php
 

Конфиг nginx



        location ~* /files {
		 root /var/www/servers;
		 internal;
	}

        location / {
        rewrite ^/file/(.*)/(.*)$ /download.php?link=$1&namefile=$2 last;
        rewrite ^/(.*) /index.php?route=$1 last;
        }

        location ~ \.php$  {
    	try_files $uri $uri/ =404; 
    	fastcgi_split_path_info ^(.+\.php)(/.+)$;
    	fastcgi_pass unix:/var/run/php5-fpm.sock;
    	fastcgi_index index.php;
    	include fastcgi_params;
    	}
        
 

Все остальные файлы скачиваются, php - нет. В логах он пытается найти этот файл Как это можно исправить? Буду очень благодарен за помощь.

Так ты с запросом «/file/5YTK9HHsW8WC6u6Y0VuYMYwfrjxtegRx/script.php» попадёшь сразу в последний location. Перепеши регулярку.

d2 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.