当用户转到localhost:8888或localhost:8888/时,我的角度应用程序更改为url到http://localhost:8888/#!/
这是我在主页上的角应用程序:
app.config(['$locationProvider', '$routeProvider',
function($locationProvider, $routeProvider) {
$locationProvider.hashPrefix('!');
$routeProvider
.when('/', {
redirectTo: ((window.status === 'signup') ? '/signup' : '/signin')
})
.when("/signin", {
templateUrl: "/public/user/signin.html",
controller: "signinController"
})
.when('/signup', {
templateUrl: "/public/user/signup.html",
controller: "signupController"
})
.otherwise({
redirectTo: '/'
});
}
])如果用户转到http://localhost:8888/auth,角度重定向到http://localhost:8888/auth#!/signin,
只有当用户转到http://localhost:8888/auth/,角度重定向到http://localhost:8888/auth/#!/signin
app.config(['$locationProvider', '$routeProvider',
function($locationProvider, $routeProvider) {
$locationProvider.hashPrefix('!');
$routeProvider
.when('/', {
redirectTo: ((window.status === 'signup') ? '/signup' : '/signin')
})
.when("/signin", {
templateUrl: "/public/user/signin.html",
controller: "signinController"
})
.when('/signup', {
templateUrl: "/public/user/signup.html",
controller: "signupController"
})
.otherwise({
redirectTo: '/'
});
}
])棱角分明的官方网站和大部分书籍推荐使用xxx/#!/xxx格式。我怎么能这么做?
编辑:我知道我可以从服务器端添加尾随斜杠。但是用户可以直接输入xxx.com/auth。为什么xxx.com可以工作,而xxx.com/auth却不能工作?
Edit2:教程示例项目适用于所有urls。我们几乎有相同的实现。
http://angular.github.io/angular-phonecat/step-8/app/#/phones
尝试输入http://angular.github.io/angular-phonecat/step-8/app (没有尾随斜杠)
教程链接:07
发布于 2015-06-23 11:07:41
这是您应该通过添加从/auth到/auth/的301重定向来修复后端的问题。
Nginx:
rewrite ^/auth$ /auth/ permanent;阿帕奇:
Redirect "/auth" "/auth/" [R=301]https://stackoverflow.com/questions/31000637
复制相似问题