Когда я использую угловой маршрутизатор UI в своем приложении, мой URL-адрес выглядит как:
www.example.com/serverpath#/UIRouterPath1
www.example.com/serverpath#/UIRouterPath2
Теперь я хочу изменить что-то вроде
www.example.com/serverpath/SPA/UIRouterPath1
www.example.com/serverpath/SPA/UIRouterPath2
Как это сделать?
По умолчанию, AngularJS будет маршрутизировать URL-адреса с хэштегом, но вы можете удалить его с помощью $ locationProvider.
Вы будете использовать модуль $ locationProvider и установите для html5Mode значение true. Например:
var app = angular.module('App', ['ngRoute']);
app.config(function($routeProvider, $locationProvider){
$locationProvider.html5Mode(true);
И для добавления базы для url в индексный файл вы должны использовать <base>
в разделе head. Например
<base href="/SPA">
Таким образом, когда вы пишете один тег <a>
как это в вашем html файле:
<a href="UIRouterPath1">UIRouterPath1</a>
он будет связан с: www.example.com/serverpath/SPA/UIRouterPath1