2015-07-26 2 views
0

Мне интересно, как работать angularjs ngRoute и htaccess переписывать вместе.angularjs ngroute и htaccess rewrite

У меня 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', { 
 
     \t templateUrl: './assets/templates/article.html', 
 
     \t 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; 
 
    // ... 
 
}]);

+1

Вам нужно настроить $ locationProvider и эта линия. $ locationProvider.html5Mode (true); – mpowmap

ответ

1

Если вы уже сделали свои перезаписи, вы должны просто установить $locationProvider.html5Mode(true). См https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

Кроме того, подобные вопросы переполнения стека может быть полезным: Angular Direct Url without hash $location/switching between html5 and hashbang mode/link rewriting

+0

Спасибо! Это поразило место :) –