Команды 'tar' и 'площадь' очень, очень стары и предшествуют конвенции с помощью тире.
Наконец-то нашел ответ. Когда вы делаете что-то подобное, вам нужно повторно объявить настройки PHP-FPM (все, что было в блоке location ~ \ .php $ {(this code)}
.
Итак, чтобы избежать избыточности, я поместил эти значения в другой файл, и у меня осталось что-то вроде этого:
server {
# pass the PHP scripts to FastCGI server listening on UNIX socket
location ~ \.php$ {
include /etc/nginx/fastcgi_php_text;
}
location / {
index index.php;
}
location ^~/folder/ {
deny all;
allow ...;
include /etc/nginx/fastcgi_php_text;
}
}
Не знаю, лучший ли это способ сделать это, но это единственный способ, который я понял.
Вы также можете попробовать определить блок местоположения с помощью @name и сослаться на него. Со страницы nginx Pitfalls
server {
location ~ \.php$ {
try_files @fascgi;
}
location ^~ /folder {
deny all;
allow 127.0.0.1;
location ~ \.php$ {
try_files @fascgi;
}
}
location @fascgi {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
}