【问题标题】:can i redirect to https using ng-view on a specific route?我可以在特定路线上使用 ng-view 重定向到 https 吗?
【发布时间】:2016-03-21 12:45:48
【问题描述】:

我正在开发一个 Angular 1.5.0-rc0 项目。

我正在使用带有 ng-view 的 angular-route,配置如下:

  app.config(['$routeProvider','$locationProvider',
    function($routeProvider,$locationProvider) {
        $routeProvider.
        when('/',{
            templateUrl: 'views/index.html',
            controller: 'IndexController',
        }).
        when('/login', {
            templateUrl: 'views/login.html',
            controller: 'LoginController'
        }).
        when('/cocktail/:cocktail_name', {
            templateUrl: 'views/cocktail.html',
            controller: 'CocktailController',
        }).
        when('/add-drink',{
            templateUrl: 'views/add-drink.html',
            controller: 'AddDrinkController',
        }).
        when('/add-cocktail',{
            templateUrl: 'views/add-cocktail.html',
            controller: 'AddCocktailController',
            controllerAs: 'addCocktail'
        }).
        when('/admin-drinks',{
            templateUrl: 'views/admin-drinks.html',
            controller: 'AdminDrinksController',
            controllerAs: 'adminDrinks'
        }).
        when('/login',{
            templateUrl: 'views/login.html',
            controller: 'LoginController',
            controllerAs: 'login'
        }).
        otherwise({
            redirectTo: '/'
        });

我想检查用户是否使用 https 或 http 进行浏览。如果他们使用 http 浏览 /login,我想将他们重定向到 https。

我该怎么做?

【问题讨论】:

  • 如果您正在创建一个单页应用程序,您最好将其全部设为 https,而不是仅在它们转到 /login 时尝试重定向它们 - 如果您只使用 Angular 路由,一次他们已经登录,无论如何他们将保持在 https 上。正如@GadgetBlaster 所说,最好在服务器端执行此操作

标签: angularjs ng-view


【解决方案1】:

我会在网站加载您的 JS 之前在服务器端进行。我过去曾在 Angular 应用程序中完成此操作,并且在 PHP 或 Apache 中执行此操作更安全。这是一个 PHP 示例:Redirecting from HTTP to HTTPS with PHP

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2021-03-29
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2020-06-13
    • 1970-01-01
    相关资源
    最近更新 更多