вопрос по nginx location

M
На сайте с 15.03.2012
Offline
101
2037

добрый вечер

имеется следующая конфигурация nginx:

location ~ \.php$ {

...fastcgi...

}

location /data/files/ {

types {}

default_type application/octet-stream;

}

Второй location отдает все файлы из папки /data/files/ для скачивания. Но php файлы по прежнему выполняются, тк первый location для них имеет приоритет...

Что добавить в конфиг для того, чтобы php файлы из папки /data/files/ также отдавались для скачивания?

Андрей
На сайте с 30.09.2009
Offline
499
#1

А если поменять локейшины местами и перечислить возможные файлы?

location ~ /data/files/.*\.(jpg|jpeg|php|etc...)$ {

EuroHoster.org ( https://eurohoster.org/ru) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.
M
На сайте с 15.03.2012
Offline
101
#2

файлы возможны абсолютно любые.. в эту папку пользователи загружают файлы без ограничений.

Андрей
На сайте с 30.09.2009
Offline
499
#3

Что то видимо у вас подключено выше или в http, server

Проверил у себя, первый локейшн


location ~ /tmp/ {
default_type application/octet-stream;
}

Все скачиваеться. Остальное работает по прежнему.

M
На сайте с 15.03.2012
Offline
101
#4

location для php файлов у вас аналогичен моему? и при этом файл /tmp/test.php скачается а не выполнится?

выше у меня никаких правил для uri нет

Андрей
На сайте с 30.09.2009
Offline
499
#5

Да, и да.

Просто местами поменяйте локейшены и проверьте чтобы в инклудах не было выполнения пхп.

M
На сайте с 15.03.2012
Offline
101
#6

получилось, благодаря добавлению ~ во второй location. И, да, местоположение относительно друг друга тоже нужно было изменить. Спасибо

iHead
На сайте с 25.04.2008
Offline
137
#7

для того, чтобы локейшены, не заданные регулярным выражением, имели приоритет над теми, которые заданы регулярными выражениями, нужно использовать модификатор ^~

http://nginx.org/ru/docs/http/ngx_http_core_module.html#location

Рекомендуемый хостинг партнер 1С-Битрикс (https://www.ihead.ru/bitrix/), PHP-хостинг (https://www.ihead.ru/php/), доверенный партнер RU-CENTER (https://www.ihead.ru/news/573.html), официальный представитель REG.RU в Кирове (https://www.ihead.ru/news/851.html)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий