Я выполнил множество поисков ответа для этого и не могу найти подходящий ответ.
По сути, у меня есть сайт, созданный в SilverStripe, работающий на NGINX.Все это работает довольно хорошо, но я хочу, чтобы любые файлы / изображения, загруженные через администратора (в папку ресурсов), были разрешены через index.php в корне сайта (чтобы мы могли проверить разрешения файлов, установленных в администраторе, прежде чем возвращать их).пользователю).
У меня довольно простой конфиг nginx (для моего локального экземпляра докера):
server {
include mime.types;
default_type application/octet-stream;
client_max_body_size 0;
listen 80;
root /var/www/html;
location / {
try_files $uri /index.php?$query_string;
}
location ^~ /assets/ {
try_files $uri /index.php?$query_string;
}
location /index.php {
fastcgi_buffer_size 32k;
fastcgi_busy_buffers_size 64k;
fastcgi_buffers 4 32k;
fastcgi_keep_conn on;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Проблема в строках:
location ^~ /assets/ {
try_files $uri /index.php?$query_string;
}
К сожалению, try_files
проверяет существование файла перед передачей запроса в php.Есть ли способ остановить это и передать все запросы из каталога assets прямо в PHP?