Мне интересно, как работать с angularjs ngRoute и htaccess, переписывая их вместе.
У меня работает ngRoute, поэтому я получаю такие URL-адреса:
http://domain.com/#/something/somestring
Но очень хотелось бы такого результата:
http://domain.com/something/somestring
Другими словами, я хотел бы избавиться от /# в своих URL-адресах. Я делал это раньше с .htaccess, mod_rewrite.c и PHP, но понятия не имею, как добиться того же результата с AngularJS. Мы будем очень признательны за любые указатели, ссылки на учебники, статьи и т. д., которые объясняют, как это можно сделать, или просто примеры.
Несколько требований: я все еще должен иметь возможность выполнять маршрутизацию так же, как я делал до сих пор:
blogApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/page/:pagePermaLink', {
templateUrl: './assets/templates/page.html',
controller: 'pageCtrl'
}).
when('/article', {
templateUrl: './assets/templates/article.html',
controller: 'articleCtrl'
}).
otherwise({
redirectTo: '/home',
templateUrl: './assets/templates/page.html',
controller: 'mainCtrl'
});
}]);
Строка запроса URL, например :pagePermaLink
, по-прежнему должна быть доступна из области видимости:
blogCtrl.controller('pageCtrl', ['$scope', '$routeParams', '$http',
function($scope, $routeParams, $http) {
var foo = $routeParams.pagePermaLink;
// ...
}]);