Я хочу, чтобы мой nginx обслуживал статическую страницу index.html
из любого запроса или пути. У меня следующий конфиг.
server {
listen 80;
server_name mydomain.com *.mydomain.com;
location / {
root /var/www/project-name;
passenger_enabled on;
}
}
Это работает, когда URL-адрес «mydomain.com» или «abc.mydomain.com», но не «abc.mydomain.com/users/sign_in
».
Журнал ошибок nginx: /var/www/project-name/users/sign_in
нет такого файла или каталога.
Я пробовал много регулярных выражений на месте, но не повезло.
Обновление: мой файл index.html находится здесь /var/www/project-name/index.html
index.html
в папкеhtml
в папке/opt/nginx
. Поэтому я просто хочу сохранить значение по умолчаниюindex.html
, так как это страница приветствия nginx, и вместо этого назвать мою статическую страницуstatic.html
. Кроме того, мне нужно удалить$uri/
, так как он отображаетindex.html
по умолчанию. Так что мне подходитtry_files $uri /static.html;
- person Pirun Seng   schedule 12.06.2017/var/www/project-name/
. Но кажется, что эта строка кода всегда рассматривает последний аргумент как файл внутри/opt/nginx/html
. - person Pirun Seng   schedule 12.06.2017try_files
пути связаныroot
. Внутриlocation /
будет/var/www/project-name/static.html
. Блокserver
не содержит директивыroot
, поэтомуnginx
дает внутренний/opt/nginx/html
- person Deadooshka   schedule 12.06.2017