0

Я использую угловые маршруты, чтобы определить вид, который будет отображаться для пользователя следующим образом:AngularJS с маршрутизацией RequireJS удаляет хэш

define(['angular', './app'], function(angular, app) { 
    'use strict'; 
    return angular.module('app', ['ngRoute']). 
    config(function($routeProvider, $locationProvider) { 
     $routeProvider 
      .when('/', { 
       templateUrl:'assets/partials/partial1.html', 
       controller: 'MyCtrl1' 
      }).when('/mada', { 
       templateUrl:'assets/partials/partial2.html', 
       controller: 'MyCtrl2' 
      }) 
      .otherwise({redirectTo: '/'}); 

    }); 

}); 

На данный момент работы маршрутизации, но только как это: LOCALHOST/#/Мада или локальный/#/ Я хотел бы быть в состоянии видеть LOCALHOST/Мада

Я знаю, что добавление

$locationProvider.html5Mode(true); 

бы избавиться от хэша. Но это все еще не позволяет пользователю перейти на: localhost/mada, так как это возвращает сервер 404.

Можно ли это достичь? Как?

ответ

1

Если вы не используете серверный язык, тогда введите этот код в html head.

<base href="/"> 

как:

<head> 
    <base href="/"> 
</head> 

и поместить его в конфигурации блока:

$locationProvider.html5Mode(true); 

, если вы используете на стороне сервера язык, то используйте этот код:

app.get('*', function(req, res) { 
    res.render('index'); 
}); 

вместо от

app.get('/', function(req, res) { 
    res.render('index'); 
}); 

и и поместить этот код в конфигурации блока:

$locationProvider.html5Mode(true); 
Смежные вопросы