Javascript 具有AngularJS的子域路由
仅使用AngularJS是否可以检测子域并相应地进行路由 假设子域spick.example.com指向与example.com相同的docRoot example.com有一个Javascript 具有AngularJS的子域路由,javascript,angularjs,Javascript,Angularjs,仅使用AngularJS是否可以检测子域并相应地进行路由 假设子域spick.example.com指向与example.com相同的docRoot example.com有一个index.html所在位置 在我的配置中,我为部分定义路由: $routeProvider.when('/food',{templateUrl:'views/example.com/regular.html'}) 但是如果spicey.example.com想用它自己的来覆盖regular.htmlpartial呢?
index.html
所在位置
在我的配置中,我为部分定义路由:$routeProvider.when('/food',{templateUrl:'views/example.com/regular.html'})代码>
但是如果spicey.example.com想用它自己的来覆盖regular.html
partial呢?
$routeProvider.when('/food',{templateUrl:'views/spice.example.com/hot.html'})代码>
在像Apache/Nginx这样的服务器上不使用重写规则,这是可能的吗
注意:
这是一个单页应用程序
$locationProvider.html5Mode(true)代码>
我正在使用CORS:
$http.defaults.useXDomain=true代码>不,这是不可能的,因为
请记住,同源策略适用于包含的资源
(例如,ngInclude不适用于所有浏览器上的跨域请求
以及在某些浏览器上的文件访问权限)
CORS似乎是一条路要走
您可以通过NGINX/Node.js和enbale CORS代理将请求传递给文件,也可以使用CDN为启用CORS的资产提供服务,如Amazon Cloud S3
但是,如果sumdoamin指向同一文档根,则访问:
example.com/views/home.html
test.example.com/views/home.html
这与访问:
example.com/views/home.html
test.example.com/views/home.html
我不确定SOP和它有什么关系。如果我在spice.example.com
上,并且我正在从example.com/views/spice.example.com/
请求一个资源,那么我不是在跨源请求执行一个操作,我只是在请求一个资源。您应该有相同的主机、相同的端口和相同的协议来发出请求。在这种情况下,您违反了主机规则。所以这是跨产地的要求。我想我们可能在谈论不同的事情。用对待js资产的同样方式来看待分部。当然你可以从CDN获取jquery,就像获取部分一样。我忘了提到这是一个使用pushState的单页应用程序。你可以使用html中的标记从CDN加载js文件。但是angular让ajax呼吁加载部分。它们不是相同的东西。