将Angular UI路由器应用程序根目录从“#”更改为其他内容

时间:2016-01-01 12:17:59

标签: angularjs angular-ui-router

当我在我的应用中实现角度UI路由器时,我的视图网址显示为:

www.example.com/serverpath#/UIRouterPath1
www.example.com/serverpath#/UIRouterPath2

现在我想改成像

这样的东西
www.example.com/serverpath/SPA/UIRouterPath1
www.example.com/serverpath/SPA/UIRouterPath2

我如何做到这一点?

1 个答案:

答案 0 :(得分:1)

默认情况下,AngularJS会使用主题标签路由URL,但您可以使用$ locationProvider将其删除。

您将使用$ locationProvider模块并将html5Mode设置为true。例如:

var app = angular.module('App', ['ngRoute']);

app.config(function($routeProvider,  $locationProvider){
    $locationProvider.html5Mode(true);

要在索引文件中为url添加基础,必须在head部分使用<base>标记。例如

<base href="/SPA">

这样,当你在html文件中写一个这样的<a>标签时:

<a href="UIRouterPath1">UIRouterPath1</a>

它将链接到:www.example.com/serverpath/SPA/UIRouterPath1