如何从sunjs应用中删除HASH



我需要从URL中删除'#'。可以通过设置

来完成

$ locationprovider.html5mode({enabled:true,requireb:quart base:false});

但是,当我这样做时,我的路线将通往nodejs路线。前任:http://example.com/#/login-它将打开登录页面,但在删除HashBangs之后,其击中nodejs路由 - http://example.com/login。

该应用程序已完成,因此我现在无法更改实现。

请帮助。

编辑:这些是少数个态度

$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'
                        ]
                    });
                }]
            }
        })

在您的config block

中添加以下行
$locationProvider.html5Mode(true).hashPrefix('!'); 

在您的index.html文件集中,通过在HTML页面的Head Tag中添加以下行

<base href="/" > 

,然后在Node 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)
});

最新更新