Как исправить маршрутизацию для приложения Angular 2 с помощью Edgecast Azure CDN?

Для моего приложения Angular вот файл app.routing.ts:

const appRoutes: Routes = [
    { path: '', component: LoginComponent },
    { path: 'dashboard', component: DashboardComponent },
    { path: 'application', component: ApplicationComponent },
    { path: 'decision', component: DecisionComponent },
];

export const routing = RouterModule.forRoot(appRoutes);

так что на моем локальном компьютере, когда я делаю ng serve, я могу зайти в адресную строку в браузере и ввести адреса, например:

локальный:4200/ панель

локальный:4200/ приложение

и это прекрасно работает.

тогда я делаю:

ng build --base-href /deploy/ --prod

а затем скопируйте файлы из папки dist на моем локальном компьютере в хранилище BLOB-объектов Azure. У меня должен быть контейнер BLOB-объектов для файлов, и этот контейнер называется deploy. Я получаю что-то вроде:

https://xxyz.blob.core.windows.net/deploy/favicon.ico
https://xxyz.blob.core.windows.net/deploy/index.html
https://xxyz.blob.core.windows.net/deploy/assets/Logo.svg
https://xxyz.blob.core.windows.net/deploy/main.68dbes8ef20.bundle.js
https://xxyz.blob.core.windows.net/deploy/styles.a2b9daa6d36.bundle.css

и т. д. и т. д. и я могу перейти к:

https://xxyz.blob.core.windows.net/deploy/favicon.ico

и увидеть значок

Затем на CDN Verizon Edgecast я могу перейти к:

https://xxyz.com/deploy/index.html чтобы запустить мое приложение и войти в систему.

Но я не хочу идти на https://xxyz.com/deploy/index.html в CDN для входа в систему.

Я хочу пойти в

https://xxyz.com/login и войдите туда

Кроме того, я не могу также пойти в эти места на CDN:

https://xxyz.com/deploy/dashboard

https://xxyz.com/deploy/application

И что я действительно хочу - это иметь возможность делать это из CDN:

https://xxyz.com/login

https://xxyz.com/dashboard

https://xxyz.com/application

а также

https://xxyz.com/ следует перенаправить на страницу входа

Я использую Verizon Premium Edgecast CDN, поэтому я могу перезаписать URL, но написанные мною правила пока не работают.

Я что-то упускаю на угловой стороне? Какие-либо идеи правил перезаписи URL для Azure CDN или Edgecast?

Вот текущий способ, которым я пытался сделать перезапись URL для edgecast/Azure: введите описание изображения здесь

И затем вот варианты в выпадающем списке, который говорит "Всегда" на изображении выше:

ЕСЛИ варианты:

Всегда

Как номер

CDN Origin

IP-адрес клиента

Параметр Cookie

Происхождение клиента

Edge Cname

Ссылающийся домен

Запросите заголовок литерала

Заголовок запроса Regex

Метод запроса

Схема запроса

URL-путь

Расширение URL-пути

Url Path Имя файла

Url Path Literal

Url Path Regex

Подстановочный знак Url Path

Url Query Literal

Url Query Regex

Url Query Wildcard

1 ответ

Вы можете установить "Исходный путь" для "deploy", чтобы удалить путь "/deploy/" от необходимости в URL CDN.

начало пути лазурь

Движок правил может начать работать до 90 минут. Убедитесь, что вы подождали достаточно долго, прежде чем пытаться это.

После добавления исходного пути правило перезаписи должно быть следующим. Правило 1: если всегда: Feature: URL Rewrite; Источник: "логин"; Назначение: index.html (в раскрывающемся списке выберите тот, который соответствует имени вашей конечной точки).

Другие вопросы по тегам