Как удалить index.html из url на веб-сайте на основе angularjs - программирование
Подтвердить что ты не робот

Как удалить index.html из url на веб-сайте на основе angularjs

Я не нашел способ удалить index.html из URL-адреса, потому что это выглядит очень уродливо.

mydomain.com/index.html#/myview1 
mydomain.com/index.html#/myview2

Есть ли способ удалить эту часть, например, этот url будет настолько понятным, где пользователь.

mydomain.com/myview1
mydomain.com/myview2

Tnx заранее для вашего времени.

Изменить: Я просто нахожу, что он может работать так:

mydomain.com/#/myview1
mydomain.com/#/myview2

что намного лучше, чем index.html.

Но если есть способ для более короткого решения, дайте мне знать.

4b9b3361

Ответ 1

Возможно, такой подход может помочь:

Добавьте $locationProvider.hashPrefix();, который удаляет index.html в вашем URL-адресе в вашей конфигурации app.js. Не забудьте добавить новую зависимость. После этого ваш app.js может выглядеть примерно так:

 angular.module('myApp', [
  'ngRoute'
]).
config(['$locationProvider', '$routeProvider', function($locationProvider, $routeProvider) {
  $locationProvider.hashPrefix(); // Removes index.html in URL

  $routeProvider.otherwise({redirectTo: '/someroute'});
}]);

Обратите внимание, что это не удаляет хэштег. Вы можете найти свой новый маршрут по адресу:.../app/#/someroute

Ответ 2

активируйте html5mode для $location

Ответ 3

Вам нужно будет выполнить некоторую работу на стороне сервера, чтобы настроить это. html5mode добавляет вам часть пути, но как только пользователь обновится, ссылка на файл будет неправильной. Вам нужны ссылки, которые являются постоянными и могут использоваться совместно, предположительно. В основном убедитесь, что любой запрос url.com/myapp/{etc} (или что-то еще) перенаправляется на index.html и позволяет вашему приложению angular сортировать маршрутизацию.