У меня есть каталог example.com/data/
, который обслуживается только stati c content на root (то есть example.com/data/
обслуживает stati c webpage, но example.com/data/file
обслуживается сценарием). Я использую uwsgi для обслуживания части stati c, и мне удалось заставить свой сценарий обслуживать контент самостоятельно, но я не могу понять, какие правила мне нужны, чтобы получить такое поведение, потому что я получаю " 500 Internal Server Error. "
Моя текущая (нерабочая) конфигурация выглядит следующим образом:
location = /data/ {
alias /srv/data/index.html;
}
location /data {
gzip off;
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass unix:/run/uwsgi/data.sock;
}
Я пробовал несколько конфигураций с try_files
, но не могу сделать это работает. Нужно ли ссылаться на один из каталогов здесь по-другому или использовать try_files и несколько именованных маршрутов?
РЕДАКТИРОВАТЬ: Благодаря @Richard Smith, эта конфигурация работает:
location = /data/ {
root /srv/data/;
try_files /index.html =404;
}
location = /data {
gzip off;
include uwsgi_params;
uwsgi_modifier1 9;
uwsgi_pass unix:/run/uwsgi/data.sock;
}