如何从网址中删除hash在meanjs应用程序

问题描述:

我需要从网址中删除'#'。它可以通过设置如何从网址中删除hash在meanjs应用程序

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

但是,当我这样做,我的路线将去Nodejs路线。 例如: http://example.com/#/login - 它将打开登录页面,但在删除hashbangs后,其打击nodejs路由 - http://example.com/login

应用程序已完成,所以我现在无法更改实施。

请帮忙。

编辑: 这些都是少数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

添加下面一行在你的配置块

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

在您的index.html文件中设置基地在HTML的头标记加入下面一行页

<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

你还在网址#中吗? –

+0

不,这是越来越多,但我的角度路由没有在节点路由工作。 – UserV789456