Question

I want to build a single page application with angular.js the only thing is i want a traditional url structure.

Example:

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

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

First of all is it possible?
Second how would i do that?
Any server except Apache XD

Was it helpful?

Solution

You need to enable HTML5 mode within angular.

.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true).hashPrefix('!');

Then you also need to configure your sever. See this article: Configure your server to work with html5Mode

I'd suggest reading this short post: Pretty URLs in Angular, Removing the Hashtag. In it they also recommend setting <base href="/"> within the head of your HTML.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top