如何禁用html5mode?

时间:2015-06-04 09:38:59

标签: angularjs angular-routing ngroute

当路径离开我的路线时,我想关闭$locationProvider.html5Mode()。 (a.k.a./ pages)。

otherwise路由当前使用我的其他网页链接,只使用空白模板更新ng-view,我希望整个页面重新加载到目标网页。

这是我的代码。

app.config(function($locationProvider, $routeProvider) {
  $routeProvider.when('/page/:url', {
    controller: 'PageCtrl',
    templateUrl: 'page-template.html'
  })
  .otherwise({
    redirectTo: function(params, path) {
      window.location = path;
    }
  });

  $locationProvider.html5Mode(true);
});

1 个答案:

答案 0 :(得分:1)

通过添加所有"重新加载"我找到了解决这个问题的方法。与target="_self"

的链接

以下是RTFM的一部分。

Html链接重写

如下所示,链接不会被重写;相反,浏览器将执行整页重新加载到原始链接。

  • 包含目标元素的链接
    示例:<a href="/ext/link?a=b" target="_self">link</a>
  • 转到其他域的绝对链接
    示例:<a href="http://angularjs.org/">link</a>
  • 以&#39; /&#39;开头的链接导致不同的基本路径
    示例:<a href="/not-my-base/link/">link</a>