Уже 3 дня занимаюсь этим, не могу обернуться вокруг него.
Я размещаю Angular приложение в качестве статического c веб-сайта на Azure Хранилище и делаю его доступным через Azure CDN.
Проблема
Загрузка или перезагрузка любой страницы, которая не является домашней страницей, возвращает 404 для документа (только)
Мои попытки
Я уже изменил документ 404 по умолчанию на индекс. html, но я заметил, что при перезагрузке все равно возвращается 404, даже если содержимое загружено правильно: (
Итак, я создал новый URL Правило переписывания (с использованием уровня Premium Verizon), чтобы это произошло, это моя последняя попытка, не отличающаяся от предыдущих (все работают на regexr, regex101 и других для PCRE):
IF Request Header Regex Name=`User-Agent` Does Not Match `ECPurge\/*`
URL Rewrite -> Source <endpoint> `(^(?!.*\.(svg|ico|webp|otf|ttf|css|js|png|jpg|jpeg)($|\?)).*$)`
Destination <endpoint> `index.html`
Правило перезаписи URL для индекса. html отступление (изображение)
В основном я пытаюсь сделать перезапись только для маршрутов приложения, а не для ресурсов и js файлов.
Хотя это правило не меняет поведение viour of cdn в любом случае , так как я все еще получаю 404 с при перезагрузке страницы. Я также подтвердил это, поместив фактический файл 404. html в качестве документа 404 по умолчанию для веб-сайта stati c.
Я также использую перезапись URL для другого правила, которое использует тот же шаблон регулярных выражений для источника, и это правило, похоже, тоже ничего не делает.
Я дважды проверил шаблон регулярных выражений, и результаты всегда корректны на разных скрипачах. Но у меня возникло ощущение, что этот шаблон регулярных выражений каким-то образом не работает.
Есть предложения?
PS Изображение для другого нарушенного правила: Правило перезаписи n.2