2017-08-23 29 views
0

私は#を削除したい! URLから、私はこのために#を削除するにはどうすればいいですか? angularjsのURLからですか?

$locationProvider.html5Mode(true); 

を使用し、それが動作しますが、私はページを更新するとき、ページを見つけて、エラーを与えることができることはできません。

どうすればよいですか?

Index.htmlと

<!DOCTYPE html> 
<html dir="ltr" lang="en" ng-app="myapp"> 
<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 

<head> 
    <meta charset="UTF-8" /> 

    <meta name="viewport" content="width=device-width, initial-scale=1"> 


    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 

    <base href="/"> 
</head> 

    <body class="product-product-82 responsive full default layout_2"> 

    <script type="text/javascript" src="bower_components/angular/angular.js"></script> 
    <script type="text/javascript" src="app.js"></script> 
<script type="text/javascript" src="controllers/config.js"></script> 
<script type="text/javascript" src="controllers/productCtrl.js"></script> 
<script type="text/javascript" src="controllers/menuCtrl.js"></script> 
    <page-loader flag="isLoading"></page-loader> 
    <div ui-view="layout"></div> 

</body> 

</html> 

var app = angular.module('myapp'); 

app.config(['$stateProvider', '$urlRouterProvider', '$locationProvider', function($stateProvider, $urlRouterProvider, $locationProvider) { 
    $urlRouterProvider.otherwise('/'); 

    $stateProvider 
     .state('productpagelayout', { 
      abstract: true, 
      views: { 
       layout: { 
        templateUrl: 'template/layout/productpagelayout .html', 
       }, 
       controller : 'productCtrl' 
      } 
     }) 
     .state('landing', { 
      url: '/', 
      templateUrl: 'template/landing/mainpages.html', 
      controller: 'menuCtrl', 
      parent: 'productpagelayout', 
     }) 
     .state('home', { 
      url: '/home', 
      templateUrl: 'template/landing/landing.html', 
      controller: 'menuCtrl', 
      parent: 'productpagelayout', 
     }) 
     .state('category2',{ 
      url: '/c/:name1/:name2', 
      templateUrl: 'template/product/productsgridpage.html', 
      controller: 'productCtrl', 
      parent: 'productpagelayout' 
     }) 
    $locationProvider.html5Mode(true); 
}]) 

app.js

var app = angular.module('myapp', ['ui.router', 
    'rzModule', 
    'ngCookies', 
    'ui.bootstrap', 
    'ngSanitize', 

]); 
+0

私はあなたが#を削除することはできないと思う!それは角度jsのデフォルトのURLパターンなので、urlから。したがって、ページの更新時にエラーが発生します。 – Nikita

+0

[AngularJSのURLからフラグメント識別子を削除する(#記号)](https://stackoverflow.com/questions/14771091/removing-the-fragment-identifier-from-angularjs-urls-symbol)の可能な複製 –

+0

可能な複製[$ location hash prefix](https://stackoverflow.com/questions/14642634/location-hash-prefix) – Vivz

答えて

0

をルーティングするための設定ファイルあなたがしようとすると使用できます。

app.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 
+0

のコードを更新しました。私はそれを使用しましたが、問題は、ページをリフレッシュするとそのページに移動せずエラーが発生することです –

関連する問題