2013-05-19 1 views
0

Я разрабатываю webapp используя AngularJS и Laravel.AngularJS - прямой доступ к URL-адресу с hash

Когда я перемещаюсь по URL-адресам и ссылкам в приложении, все работает нормально, но если я набираю URL-адрес непосредственно в браузере, происходит что-то странное.

Например, если я типа http://myapp.dev/#/customers я попадаю в http://myapp.dev/customers#/

Почему? Что не так? Laravel выполняет маршрут «/» (справа) и «Угловой»/«маршрут» (справа, снова).

Примечание: я сделал тестовое приложение, подобное первому, но не использующее Laravel и .htaccess (он служит только для статического HTML), и у меня нет этой проблемы, я могу напрямую обращаться к URL.

спасибо.

Edit - здесь Угловой код маршрутизации:

 
var App = angular.module('Factotum', ['ngResource']); 

function appRouteConfig($routeProvider) { 
    $routeProvider. 

    when('/', { 
     controller: IndiceController, 
     templateUrl: 'v/indice' 
    }). 
    when('/login', { 
     controller: 'AppController', 
     templateUrl: 'v/login' 
    }). 
    when('/logout', { 
     controller: 'AppController', 
     templateUrl: 'v/login' 
    }). 
    // ---- Clienti 
    when('/clienti', { 
     controller: ClientiController, 
     templateUrl: 'v/clienti/lista' 
    }). 
    when('/clienti/nuovo', { 
     controller: ClientiController, 
     templateUrl: 'v/clienti/nuovo' 
    }). 
    when('/clienti/modifica/:id', { 
     controller: ClientiController, 
     templateUrl: 'v/clienti/modifica' 
    }). 
    // ---- Progetti 
    when('/progetti', { 
     controller: ProgettiController, 
     templateUrl: 'v/progetti/lista' 
    }). 
    when('/progetti/nuovo', { 
     controller: ProgettiController, 
     templateUrl: 'v/progetti/nuovo' 
    }). 
    otherwise({ 
     redirectTo: '/' 
    }); 
} // factotumRouteConfig 

App.config(appRouteConfig); 
+0

Редактировать: Если я перейду к http://myapp.dev/#customers, я перенаправляюсь на http://myapp.dev/#/customers (ok) – eleftrik

+0

Вы используете угловой html5Mode? – Ven

+1

Вы можете показать свой код маршрутизации? – Reza

ответ

1

Наконец я нашел проблему. Я использую бесплатный шаблон HTML5 (Харизма по Усмана - вот демо: http://usman.it/themes/charisma/), который включает в себя JQuery плагин истории. Я удалил этот плагин вместе с некоторым кодом инициализации, и теперь все работает как ожидалось. Моя вина, я не внимательно изучил код.

Смежные вопросы