Настройка резервных маршрутов

Завершено

В вашем интерфейсном приложении на стороне клиента есть маршрут /products, отображающий список продуктов для вашего списка покупок. При переходе к /products в приложении, выбрав ссылку "Продукты", адресная строка браузера подтверждает, что вы находитесь в /products. Вам нужно, чтобы при обновлении браузера на этой странице приложение обновляло и снова показывало список продуктов. Однако без резервного маршрута вы увидите ошибку 404, указывая, что страница не найдена.

Ошибка 404 возникает при обновлении страницы, поскольку для обслуживания маршрута /products браузер отправляет запрос на платформу размещения. Но на сервере нет страницы для обслуживания с именем products.

К счастью, эту проблему легко решить, создав резервный маршрут. Резервный маршрут — это маршрут, который связывает все несовпаденные запросы страницы к серверу.

Настройка резервного маршрута

Статические веб-приложения Azure поддерживают пользовательские правила маршрутизации, определенные во вспомогательном файле staticwebapp.config.json в исходной папке приложения. Вы можете определить резервный маршрут навигации в объекте navigationFallback. Общая конфигурация резервного маршрута выглядит следующим образом.

{
  "navigationFallback": {
    "rewrite": "/index.html",
    "exclude": ["/_framework/*", "/css/*"]
  }
}
Параметр значение Описание
перепишите /index.html Файл, который будет обслуживаться, если маршрут не соответствует другим файлам.
исключение ["/_framework/*", "/css/*"] Пути, которые следует пропускать из резервной маршрутизации.

Резервное правило навигации применяется после любых других правил маршрутизации, указанных в файле staticwebapp.config.json.

Расположение файлов маршрутов

Рекомендуется поместить файл staticwebapp.config.json в папку, которая указана в качестве app_location в файле рабочего процесса. Однако файл можно поместить в любое расположение в папке исходного кода приложения.