Javascript重定向到错误的URL
我正在使用angularjs,我有一个非常基本的应用程序Javascript重定向到错误的URL,javascript,angularjs,ngroute,Javascript,Angularjs,Ngroute,我正在使用angularjs,我有一个非常基本的应用程序 let app = angular.module('GHoF', [ 'ngRoute' ]); app.config(function Config($routeProvider) { // Routes console.log($routeProvider); $routeProvider .when('/applications', { templateUrl: 'app/pages/myA
let app = angular.module('GHoF', [
'ngRoute'
]);
app.config(function Config($routeProvider) {
// Routes
console.log($routeProvider);
$routeProvider
.when('/applications', {
templateUrl: 'app/pages/myApplications/myApplications.html',
controller: 'MyApplicationsCtrl'
})
.otherwise({
redirectTo: 'app/pages/auth.html'
})
});
HTML
家
问题是它将我重定向到错误的URL
我不知道为什么,但似乎是
/#代码>在URL中。这是一个非常基本的应用程序…您需要启用HTML5Mode
以摆脱hashbang。首先,您需要在索引文件中添加base href(我通常将其直接放在开头的
标记下):
let app = angular.module('GHoF', [
'ngRoute'
]);
app.config(function Config($routeProvider) {
// Routes
console.log($routeProvider);
$routeProvider
.when('/applications', {
templateUrl: 'app/pages/myApplications/myApplications.html',
controller: 'MyApplicationsCtrl'
})
.otherwise({
redirectTo: 'app/pages/auth.html'
})
});
不要忘记,如果您计划在HTML5模式下直接使用这些路由,您将需要处理服务器重写
这是一个很好的资源,可以提供有关如何为不同服务器执行此操作的信息:因为您已将其设置为使用HashBang,这是什么意思?我没有配置任何其他东西除了我有它的工作。。。谢谢..它可以工作,但现在没有重定向…我认为重定向到:'app/pages/auth.html'
需要一个前导斜杠从根重定向。请尝试重定向到:'/app/pages/auth.html'
甚至重定向到:'/pages/auth.html'
如果/app已经是您的根目录,则不会重定向。。。我去http://127.0.0.1:8080/applications
并表示无法获取/applications
如果您要直接访问该URL,则需要向服务器添加重写。请参阅:@user12361681I使用更好的链接更新了我的答案,以防您不使用apache
<base href="/">
app.config(function Config($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when('/applications', {
templateUrl: '/app/pages/myApplications/myApplications.html',
controller: 'MyApplicationsCtrl'
})
.otherwise({
redirectTo: '/app/pages/auth.html'
})
});