【发布时间】:2013-04-28 14:28:58
【问题描述】:
基本路由方法如下,
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'myApp.controllers']).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/view1', {templateUrl: 'partials/partial1.html', controller: 'MyCtrl1'});
$routeProvider.when('/view2', {templateUrl: 'partials/partial2.html', controller: 'MyCtrl2'});
$routeProvider.otherwise({redirectTo: '/view1'});
$locationProvider.html5Mode(true);
}]);
我想让用户可以通过在浏览器上输入 url "://host/view1" 来访问 view1。但这行不通..
通过使用 $routeProvider 和 $locationProvider,如果用户点击“href=/view1”这个链接,那么 页面路由主机/视图1。
但是如果用户直接访问 url "://host/view1" 它会发出 404 错误。 为了让用户可以通过url直接访问/view1,我必须删除html5Mode,用户可以通过“//host/#/view1”访问
但是我怎样才能删除#符号!?不仅是 html5mode,方法用户可以通过输入该 url 直接访问页面。
【问题讨论】:
-
在 apache 上使用
mod_rewrite将所有对不存在文件的请求路由到您的index.html。 Angular 会从那里拿走它。
标签: angularjs