angularjs - Angular 路由,直接 URL 导航

标签 angularjs ngroute

我在 index.html 上定义了一个 Angular 应用程序文件。
使用 Angular 路由,我正在路由一个名为 /erez 的链接加载带有模板的 View 。它在应用程序内运行 - 当我单击指向 /erez 的链接时从导航栏 index.html它完美地工作。
但是当我直接在地址栏上访问 my.site.com/erez 时,它给出了 404 .我理解为什么没有服务器端代码,但是是否有实现直接 url 的纯 Angular 方式?
我的路由代码:

var app = angular.module('labApp', ['ngRoute', 'angular.filter']);

app.config(function ($routeProvider, $locationProvider) {
    $routeProvider.
        when('/', {
            templateUrl: 'index.html',
            controller: 'mainCtrl'
        }).
        when('/erez', {
            templateUrl: 'erez2.html',
            controller: 'erezCtrl'
        }).
        otherwise({
            redirectTo: '/'
        });

    $locationProvider.html5Mode(true);
});

最佳答案

您可以从 this link 中找到很多有用的信息:

因此,要么您需要在标签内使用此基本 url 标签:

<base href="/" />

但请注意,此基本标记可能会破坏代码中的相关链接。或者,您可以使用:
$locationProvider.html5Mode({
  enabled: true,
  requireBase: false
});

希望这可以帮助。

关于angularjs - Angular 路由,直接 URL 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33618421/

相关文章:

angularjs - 绑定(bind)更改时更新 AngularJS 组件

javascript - AngularJS同一页面上的动态搜索框

javascript - Angular - 异步数据流问题

angularjs - 从 AngularJS 路由中删除 #

javascript - Angular ng-view 或 ng-include 不起作用

angularjs - 动态绑定(bind)剑道网格数据源绑定(bind)到指令

javascript - 无法从 AngularJS 中的 Controller 初始化和获取数组

AngularJS:ngRoute,否则不起作用

javascript - 使用 asp.net MVC 的 Angular 路由删除 url 上的哈希#

javascript - Angular.js 路由不起作用