繁体   English   中英

Angular JS默认url没有哈希

[英]Angular JS default url having no hash

目前我的html5模式在我的角度网站中转为url。

但我只是想知道是否有我的默认网址加载没有“#!/”即域/#!/,我知道当我切换到一条路线时我会把它恢复,但很高兴没有它在默认的url主页。

这是我目前的routeprovider

app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider){
  'use strict';
  $routeProvider
    .when('/',{
      templateUrl: '/views/search.html',
      controller : 'SearchCtrl'
    })
    .when('/result',{
      templateUrl: '/views/result.html',
      controller : 'resultCtrl'
    })
    .when('/options',{
      templateUrl: '/views/options.html',
      controller : 'optionsCtrl'
    })
    .otherwise({
      redirectTo: '/'
    });
  $locationProvider.html5Mode(false);
  $locationProvider.hashPrefix('!');
}]);

Hashbang模式是html5的后备,所以要么

  • 使用html5
  • hack angularjs
  • 将主页置于角度应用之外
  • 在Web服务器上重写/转发URL

阅读$ location的更多信息。

如果你不使用服务器端语言,那么把这个代码放在html头。

<base href="/">

喜欢 :

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

并把它放在配置块中:

$locationProvider.html5Mode(true);

如果您使用的是服务器端语言,请使用以下代码:

app.get('*', function(req, res) {
    res.render('index');
});

保证

app.get('/', function(req, res) {
    res.render('index');
});

并将此代码放在配置块中:

$locationProvider.html5Mode(true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM