具有angularjs的动态子域
我是Angularjs新手,我想添加动态子域,如具有angularjs的动态子域,angularjs,subdomain,Angularjs,Subdomain,我是Angularjs新手,我想添加动态子域,如sub.domain.com。 通过更改sub,我将能够从服务器请求正确的数据。但是,主页仍将保持不变 sub1.domain.com和sub2.domain.com将具有相同的home.tpl.html页面,但返回的数据将特定于域。 其他页面也一样 有什么方法可以做到这一点吗?您需要了解的主要内容是,尤其是。这将返回完整的域,从那里很容易获得子域并使用它 你甚至可以做一个非常简单的服务,你可以把它注入任何地方,以便轻松地访问子域 比如: app.
sub.domain.com
。
通过更改sub,我将能够从服务器请求正确的数据。但是,主页仍将保持不变
sub1.domain.com
和sub2.domain.com
将具有相同的home.tpl.html
页面,但返回的数据将特定于域。其他页面也一样
有什么方法可以做到这一点吗?您需要了解的主要内容是,尤其是。这将返回完整的域,从那里很容易获得子域并使用它 你甚至可以做一个非常简单的服务,你可以把它注入任何地方,以便轻松地访问子域 比如:
app.factory('subdomain', ['$location', function ($location) {
var host = $location.host();
if (host.indexOf('.') < 0)
return null;
else
return host.split('.')[0];
}]);
子域由服务器提供服务,而angular则提供哈希/hashbang URL,对子域一无所知 U可以有3个子域,例如:
- en.example.com(在服务器上手动配置)|
- de.example.com(在服务器上手动配置)|->example.com
- it.example.com(在服务器上手动配置)|
因此,当有人连接到en.example.com(事实上,请求会转到angular应用程序所在的example.com)时,您可以提取angular中的子域(在本例中,请参见上文中的示例)并转换您的angular视图。为什么不按点拆分并计算host()的元素
希望有帮助 有很多方法可以做到这一点…您的具体问题是什么?我的路由将如何改变,以允许sub1.domain.com正确地引导请求?现在domain.com工作正常,但通过使用sub1.domain.com,我得到了一个页面未找到错误。我不知道,这是一个问题,无论您是如何托管此网站和您的Web服务器。您可能还需要正确设置DNS。这与角度无关。
app.controller('SomeCtrl', ['$scope', 'subdomain', function ($scope, subdomain) {
// use subdomain same as any other variable
}]);
var host = $location.host();
var parts = host.split('.');
var subdomain = null;
// more than domain.cn, will always return the first
if (parts.length > 2)
subdomain = parts[0];
return subdomain;