使用AngularJS进行子域路由

时间:2014-03-18 20:00:52

标签: javascript angularjs routes subdomain

使用AngularJS创建子域路由的解决方案是什么?

我在谷歌和其他许多人上搜索过,我无法解决这个问题。

我想要" http://minetop.net/serverName"

app.config(function($routeProvider)
{

    $routeProvider

    .when('/:serverID', {
        templateUrl : '../design/template/pages/server.html',
        controller  : 'srvCtrl'
    })          

    .when('/', {
        templateUrl : '../design/template/pages/home.html',
        controller  : 'mainCtrl'
    }); 

});

但我希望在子域名中执行此操作,例如:http://serverName.minetop.net

PS:" serverName"是动态的。

1 个答案:

答案 0 :(得分:0)

不幸的是,就Angular路由器而言,子域甚至不是您应用的一部分。要重定向到子域,您需要做一些事情。

1)修改/ private / etc / hosts文件以包含子域。从命令行

sudo vi /private/hosts/etc

然后在localhost别名旁边添加子域。这将允许您的本地解析子域到您的应用

2)创建一个路由过滤器,在某些条件下将重定向到您的子域。为了实际重定向,只需使用

myRedirectionFilter = function(){
if("foo" !== "bar"){
 window.location.href = "http://serverName.minetop.net"}
}

3)在routes.js文件的resolve函数中使用过滤器。

.when('/', {
    templateUrl : '../design/template/pages/home.html',
    controller  : 'mainCtrl',
    resolve: myRedirectionFilter()
});