我想在CMS(Telerik Sitefinity)内托管一个SPA。该应用将托管在网址为“ {widget””的小工具中,网址为http://host/foo/bar/product/ {SPA的根}
我将使用ui-router处理url。如果我按如下所示配置路由状态,URL'/'将解析为什么?
MyApp.config(function($stateProvider){
var homeState = {
name: 'home',
url: '/',
templateUrl: '/templates/home.html'
}
$stateProvider.state(homeState);
}
这条通往http://host/或http://host/foo/bar/product/的路线吗?
templateUrl也有同样的问题: 我需要它映射到http://host/foo/bar/product/
答案 0 :(得分:0)
它将是http://host/foo/bar/product/,因为路由器将添加到末尾。这既有用,也可能是一个缺陷(see here)。 TemplateURL的行为也相同,所以您一切顺利!
答案 1 :(得分:0)
从文档中:
基本href约束
如果当前URL在作为基本href给出的URL之外,则
$location
服务将无法正常运行。这可能会产生令人困惑的后果……请考虑如下设置的基本href:
<base href="/base/">
(即,该应用程序存在于名为“/base
”的“文件夹”中)。 URL/base
实际上在应用程序外部(它是指在根目录/文件夹中找到的基本文件)。如果您希望能够通过诸如
/base
之类的URL导航至应用程序,则应确保已将服务器设置为将此类请求重定向到/base/
。有关更多信息,请参见https://github.com/angular/angular.js/issues/14018。