>_ IzzyLab

Практическое задание

SPA: все маршруты на index.html

средне

Для одностраничного приложения настрой nginx (порт 80) так, чтобы любой несуществующий путь отдавал index.html (со статусом 200), а не 404 — тогда клиентский роутинг заработает.

Что потренируешь:
  • nginx
  • try_files
  • spa
  • клиентский роутинг
  • location

Разбор темы

У одностраничных приложений маршрутизация живёт в браузере: на диске лежит один index.html, а пути вроде /some/route физически не существуют. Директива try_files внутри location перебирает варианты по порядку и отдаёт первый найденный; ключ к SPA — сделать последним фолбэком не =404, а сам index.html, тогда любой ненайденный путь вернёт стартовую страницу со статусом 200. Порядок аргументов значим: сначала пробуется файл ($uri) и каталог, а замыкающий вариант — фолбэк. После правки конфиг перечитывают.

Что проверяется

  1. глубокий маршрут отдаёт index.html
  2. несуществующий маршрут отдаёт 200

Как это выглядит