je travail sur une application web avec les technologies angularjs et symfony .. et j'ai trouvé un probleme (angularjs) au niveau des liens comme : www.monsite.com/#/profile/12
il redirige vers la home page www.monsite.com/#/
je veux accedé a ce type des liens sans avoir entrer dans le home page.

quand je tape dans le navigateur un lien comme ça : www.monsite.com/#/profile/12 je doit accedée directement a ce lien et non pas la home page

est ce qu'il y a une méthode pour régler ça ?
Merci.

5 réponses


AnassDev
Auteur
Réponse acceptée

Merci .. @Defy et @prbaron pour vos reponses
J’ai réussi a réglé le problème, il a été au niveau de vérification de connexion. J’ai limité l'accès à certain pages pour les utilisateurs non connecté.

Montres nous le bout de code relatif à tes routes.
PS : Corriges tes fautes de Frônçais s'il te plaît.

AnassDev
Auteur

voici le code

<script>
var app = angular.module('app', [
        'ngRoute',
        'ngAnimate',
        'ngCookies',
        'ngResource',
        'pascalprecht.translate',
        'angular-svg-round-progress',
        'ui.bootstrap',
        'uiGmapgoogle-maps',
        'ngTagsInput',
        'ui.uploader',
        'ui-rangeSlider',
        'growlNotifications'
    ])
    .config(function ($routeProvider, $translateProvider, uiGmapGoogleMapApiProvider) {
                $routeProvider
                        .when('/', {
                            templateUrl: '{{ path('home_index_temp') }}',
                            controller: 'HomeController'
                        })
                        .when('/connect/home', {
                            templateUrl: '{{ path('home_connected_temp') }}',
                            controller: 'HomeController'
                        })
                        .when('/concept', {
                            templateUrl: '{{ path('home_concept') }}',
                            controller: 'ConceptController'
                        })
                        .when('/userprofile/:id', {
                            templateUrl: '{{ path('profile_userprofile') }}',
                            controller: 'UserprofileController'
                        })

                        .otherwise({redirectTo: '/'});

                //translate
                $translateProvider.useStaticFilesLoader({                   
                    prefix: 'http://localhost/site/locale-',                   
                    suffix: '.json'
                });

                $translateProvider.preferredLanguage('en');
                $translateProvider.fallbackLanguage('en');

            });

</script>

Un conseil utilise ui-routeur plutot que ng-route il est plus ergonomique ( avis perso hein ) et c'est ce qui est utilisé par ionic pour le routing des vue mobile

Bonjour,

.when('/userprofile/:id', {

hors tu veux une adresse en www.monsite.com/#/profile/12 donc ton code devrait etre :

.when('/profile/:id', {

A l'heure actuelle, comme il ne trouve pas de lien entre userprofile/:id et ton url, il va utiliser le otherwise qui te renvoie a la page d'accueil.