Резервный путь Nginx try_files возвращает 404 при использовании аргументов URL-запроса - PullRequest
0 голосов
/ 23 октября 2019

Цель

У меня есть папка /assets, в которой находятся такие файлы, как index.hml, css/*, js/* и т. Д.

Вот что я хочу сделать:

  • / или index.html сервер index.html
  • Попытаться попробовать обслуживать статический файл (css/main.css и т. Д.)
  • Если указанное выше не удается,404

Мне также нужно передать параметры запроса ($args) через

Вот моя частичная конфигурация enginx:

location / {
  root /assets;
  try_files $uri $uri/index.html$is_args$args =404;
}

С этими настройками яполучить следующие результаты:

  • domain.com/css/main.css> 200: domain.com/css/main.css

  • domain.com/index.html> 200: domain.com/index.html

  • domain.com/> 200: (renders same as domain.com/index.html)
  • domain.com/index.html?q=x> 200: domain.com/index.html?q=x
  • domain.com/?q=x> 404: Not Found

Вопрос

Что я должен изменить, чтобы иметь domain.com/?q=x, чтобы возвращать тот же ответ, что и domain.com/index.html?q=x вместо не 404

1 Ответ

0 голосов
/ 25 октября 2019

Предложенный ответ @ richard-smith решил ее

location / {
  root /assets;
   index index.html;
   try_files $uri $uri/ =404;
...