2017-02-21 2 views
1

URLから「#」を削除する必要があります。設定で行うことができますmeanjsアプリのURLからハッシュを削除するには

$ locationProvider.html5Mode({enabled:true、requireBase:false});

しかし、そうすると、私のルートはNodejsルートに行きます。 例: http://example.com/#/login - ログインページを開きますが、ハッシュバングを削除した後、そのヒットノードのルートはhttp://example.com/loginです。

アプリケーションが完了しましたので、今実装を変更することはできません。

助けてください。

EDIT: これらは、いくつかのstateProviderある

$urlRouterProvider.otherwise('/'); 
    $stateProvider.state('index', { 
     url: '/', 
     templateUrl: 'partials/landing.html', 
     controller: 'mainController', 
     controllerAs: 'main', 
     resolve: { 
      deps: ['$ocLazyLoad', function($ocLazyLoad) { 
       return $ocLazyLoad.load({ 
        name: 'mainCtrl', 
        files: [ 
         'plugins/raty/jquery.raty.js', 
         'js/controllers/HomeController.js' 
        ] 
       }); 
      }] 
     } 
    }) 


    .state('home', { 
      url: '/home', 
      templateUrl: 'partials/home.html', 
      controller: 'landingController', 
      resolve: { 
       deps: ['$ocLazyLoad', function($ocLazyLoad) { 
        return $ocLazyLoad.load({ 
         name: 'mainCtrl', 
         files: [ 
          'js/controllers/HomeController.js' 
         ] 
        }); 
       }] 
      } 
     }) 
+0

ここにrouteproviderを貼り付けることはできますか? – Nitheesh

+0

@Nitheesh:私は付け加えました。 – UserV789456

答えて

0

HTMLのheadタグに線の下に追加して、configブロックに線の下にあなたのindex.htmlファイルセットベースで

$locationProvider.html5Mode(true).hashPrefix('!'); 

を追加します。ページ

<base href="/" > 

次に、ノードserver.jsでルートを追加して処理しますコードの下に

app.get('*', function(req, res) { 
    res.sendFile("index.html",{root:__dirname+'/public'}); 
    //load the single view file (angular will handle the page changes on the front-end) 
}); 
+0

私はこれを試しましたが、それでも動作しません。 – UserV789456

+0

あなたはまだURLの#を取得していますか? –

+0

いいえ、それは削除されていますが、私の角度のルートは、ノードのルートに行くのを働いていません。 – UserV789456

関連する問題