如何在单页面应用程序中获取传统的URL结构(NO hash-bang)?

时间:2014-04-04 21:34:32

标签: angularjs url routing single-page-application

我想用angular.js构建一个单页面应用程序唯一的东西是我想要一个传统的url结构。

示例:

  Before: www.example.com/#/index  
  After:  www.example.com/index  

  Before: www.example.com/#/user/21345678  
  After:  www.example.com/user/21345678  

首先是可能吗?
第二,我该怎么做? 除Apache XD之外的任何服务器

1 个答案:

答案 0 :(得分:3)

您需要在angular。

中启用HTML5模式
.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true).hashPrefix('!');

然后您还需要配置您的服务器。请参阅此文章:Configure your server to work with html5Mode

我建议阅读这篇短文:Pretty URLs in Angular, Removing the Hashtag。在其中,他们还建议将<base href="/">设置在HTML的前面。