2015-09-04 47 views
0

我在stackoverflow和網上搜索了很多關於這個,沒有我得到了直接的答案我的問題。因此請求幫助。這是我的問題:啓用角js html5模式的問題刪除#從URL

我在我的角度js應用程序中啓用'html5mode'以從URL中刪除'#'符號。啓用後,我能夠成功地從URL中移除哈希,但我得到它喜歡(運行我在Tomcat應用程序)

localhost:8080/resources/list/abc 

我期待像

localhost:8080/my-app-context/resources/list/abc 

我已經加入的鹼標籤我的index.html也像下面的方式

<base href="/" /> 
    <base href="my-context-path" /> 

但都沒有工作。

而且使HTML5模式後,我在templateUrl

失去相對查找的文件下面是我的代碼

resourcesModule.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function ($stateProvider, $urlRouterProvider, $locationProvider) { 

    $urlRouterProvider.when('/resources', '/resources/listView/kristin'); 
    $urlRouterProvider.when('', '/resources/list/abc'); 
    $urlRouterProvider.otherwise('/resources/list/abc'); 

    $stateProvider.state('apptemplates', { 
     url: '/apptemplates', 
     templateUrl: 'templates/templates.html', 
     controller: 'TemplatesNavigationController' 
    }) 
    .state('home', { 
     templateUrl: 'my-context-path/home/home.html', 
     controller: 'ResourceManagerController' 
    }) 
    .state('home.resources', { 
     url: '/resources', 
     templateUrl: 'my-context-path/resources/resources.html', 
     controller: 'ResourcesController' 
    }) 
    .state('home.resources.listview', { 
     url: '/listView/{roleID}', 
     templateUrl: 'resourcemanager-ui/resources/listview/listview.html', 
     controller: 'ListViewController' 
    }); 

    $locationProvider.html5Mode(true); 

}]); 

一個更queston。稍早時沒有啓用HTML5模式,它被映射到

$urlRouterProvider.when('', '/resources/listView/kristin'); 

但enablng HTML5模式下,它總是路由到「否則以後」。任何具體原因。提前

感謝

回答

0

我壞,加入鹼標籤如下之後,事情做工精細

<base href="/my-context-path/" /> 

即使相對查找工作正常