Настройка резервных маршрутов
В вашем интерфейсном приложении на стороне клиента есть маршрут /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
в файле рабочего процесса. Однако файл можно поместить в любое расположение в папке исходного кода приложения.