2016-12-09 5 views
1

Проект работает нормально локально. Однако после развертывания его на экземпляр AWS Ubuntu маршрутизация не работает. На домашней странице www.lewisengelart.com/#/ загружается с взломом as, www.lewisengelart.com/#!/ , и если вы попробуете ссылку, браузер попытается загрузить www.lewisengelart.com/# !/#% 2Fabout, а не www.lewisengelart.com/#/about.AngularJS Angular-Route на Ubuntu смена маршрутов/#/->/#!/Ссылки не работают

Снова этот проект работает нормально локально, я не могу понять, что его отключает на экземпляре 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

ahhh, я понял, что это что-то с версией углового, углового и угловато-анимационного. Локальная версия все еще работает с угловым 1.5.8. Хотя развернутая версия получила новый 1.6.0. –

+0

Проблема решена, на всякий случай, если кто-то еще побеспокоится об этом. На угловую документацию. https://docs.angularjs.org/guide/migration#commit-aa077e8. Необходимо добавить $ locationProvider и $ locationProvider.hashPrefix (''); - переопределить новый протокол в обновленной версии Angular. –

ответ

1

Per угловой документации.

docs.angularjs.org/guide/migration#commit-aa077e8.

Придётся добавить

$locationProvider 

и

appModule.config(['$locationProvider', function($locationProvider) { 
    $locationProvider.hashPrefix(''); 
}]); 

переопределить новый протокол в обновленной версии Угловое.