2016-11-09 3 views
0

Существует угловое 2 приложения с двумя маршрутами:угловых 2 Http: // и https: // маршруты

const appRoutes: Routes = [ 
    { 
     path: 'home', 
     component: HomeComponent 
    }, 
    { 
     path: 'login', 
     component: LoginComponent 
    } 
]; 

«/ дома» маршрут должен пойти в «http://mysite/home» и «/ Логин» следует перейти на «https://mysite/login». Обратите внимание, что первая начинается с «http: //», а вторая начинается с «https: //». Как можно настроить маршрутизатор на использование разных истоков для маршрутов? Или, по крайней мере, http/https для одного и того же происхождения?

ответ

1

Это не что-то особенное для Angular2. Маршрутизация берет то, что схема из URL-адреса при загрузке приложения. У вас есть несколько вариантов, чтобы заставить логин требовать HTTP.

  • Всегда загружайте приложение через HTTP. Неплохая практика в целом, и многие веб-приложения делают это сегодня.
  • Используйте плагин перезаписи для вашего веб-сервера (mod-rewrite для Apache или IIS переписывать для IIS), чтобы перенаправить все HTTP-запросы для маршрута/входа в HTTP.
+0

Благодарим вас за ответ. Я был бы рад запустить весь сайт по https, но мой сайт может содержать ссылки на небезопасные ресурсы. Например, страница может содержать . В этом случае браузер покажет предупреждения о незащищенных ресурсах, на которые ссылается страница безопасности. Можно ли избавиться от этих предупреждений? – Sergey

+0

Да, это возможно, но вам нужно настроить что-то на сервере для повторной записи HTTP-запросов на запросы HTTP. Вы можете использовать те же методы, о которых я говорил, для повторной записи всех запросов. Или вот модуль, который я использовал в IIS, который делает то же самое. http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Ver –