2016-07-22 7 views
2

各ページのURLを変更したい角度のアプリがあります。 URLは ".com/home"ではなく ".com /#/ home"として表示されます。何か案は?代わりにURLを/ homeに変更する/#/ home/angularJS App

'use strict'; 

angular.module('myApp.home', ['ngRoute']) 

.config(['$routeProvider', function($routeProvider) { 
    $routeProvider.when('/home', { 
    templateUrl: 'home/home.html', 
    controller: 'HomeCtrl' 
    }); 
}]) 

.controller('HomeCtrl', [function() { 

}]); 
+0

なぜあなたはURLを気にしますか? – Amit

+5

この質問は以前に尋ねられました。ここで答えを見つけることができます:http://stackoverflow.com/questions/14771091/removing-the-fragment-identifier-from-angularjs-urls-symbol –

答えて

0

ルーティングモードによって、サイトのURLがどのように見えるかが決まります。 $ロケーションサービスのデフォルトの動作は、hashbangモードを使用してルーティングすることです。

xyz.com/#/inbox/all

AngularJSはhtml5Modeでサポートしている他のルーティングモード:

hashbangのURLは次のようになります。あなたが明示的にhashbangモードを設定することができます

xyz.com/inbox/all

、それはで設定する必要があります:このモードでは、あなたのURLがHTML5モードは次のようになり

通常のURLのように見えますappモジュールのconfig関数

たとえば、明示的html5Modeモードを設定するには

angular.module('myApp', ['ngRoute']) 
.config(['$locationProvider', function($locationProvider) { 
     $locationProvider.html5Mode(false); 
}]); 

たとえば、

angular.module('myApp', ['ngRoute']) 
.config(['$locationProvider', function($locationProvider) { 
     $locationProvider.html5Mode(true); 
}]); 

ハッシュバングモードは、AngularJSがそれ以外の方法で使用されない場合に使用するデフォルトモードです。