项目在本地工作正常。 但是,在将其部署到AWS Ubuntu实例后,路由似乎不起作用。 www.lewisengelart.com/#/的主页加载了www.lewisengelart.com/#!/ 如果您尝试链接,浏览器会尝试加载 www.lewisengelart.com/#!/#%2Fabout而不是 www.lewisengelart.com /#/约
再一次,这个项目在本地工作正常,我无法弄清楚是什么在ubuntu实例上绊倒它。
之前有没有人遇到过这个问题?
这是app.js,路线配置
var app = angular.module("App", ['ngRoute', 'ngAnimate']);
app.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider){
$httpProvider.interceptors.push(
function($q, $location) {
return {
'responseError':function(rejection){
if (rejection.status == 401){
$location.url('/letmein');
}
return $q.reject(rejection);
}
};
});
$routeProvider
.when('/',{
templateUrl: 'partials/dashboard.html'
})
.when('/text',{
templateUrl: 'partials/text.html',
controller: 'textCtrl'
})
.when('/magnet',{
templateUrl: 'partials/magnet.html',
// controller: 'magnetCtrl'
})
.when('/gauge',{
templateUrl: 'partials/gauge.html',
// controller: 'gaugeCtrl'
})
.when('/animation',{
templateUrl: 'partials/animation.html',
controller: 'animationCtrl as ACtrl'
})
.when('/about',{
templateUrl: 'partials/about.html',
})
.when('/contact',{
templateUrl: 'partials/Contact.html',
})
.when('/letmein',{
templateUrl: 'partials/loginReg.html',
controller: 'adminCtrl'
})
.when('/add',{
templateUrl: 'partials/add.html',
controller: 'workCtrl'
})
.otherwise({
redirectTo: '/'
});
}])
主页部分链接
<div class="indexHeader col-md-3">
<a href="/#/"><h1>Lewis Engel</h1></a>
<div class="worksBox">
<a ng-href="/#/about"><span class="colorFive">About</span></a>
<a href="/#/contact"><span class="colorSix">Contact</span></a>
<a href="/#/text"><span class="colorOne">Emergent Possibilities</span></a>
<a href="/#/animation"><span class="colorTwo">Emergence over Time</span></a>
<a href="/#/magnet"><span class="colorThree">Magnetic Attractions</span></a>
<a href="/#/gauge"><span class="colorFour">Meaningless Measures</span></a>
</div>
答案 0 :(得分:1)
每个角度文档。
docs.angularjs.org/guide/migration#commit-aa077e8。
必须添加
$locationProvider
和
appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);
在Angular的更新版本中覆盖新协议。