AngularJS'de sözde 'SEO dostu' URL'leri oluşturmaya çalışıyorum. Yönlendirme için benim script.js ise
Ben:
$routeProvider.html5Mode(true);
ancak bu sonuçlanır:
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.html5Mode(true);
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
}]);
app.controller("BlogController", function($scope) {
$scope.title = 'Blog';
});
app.controller("IdeasController", function($scope) {
$scope.title = 'Ideas';
});
URL'den # kaldırmak için, ben html5 modunu etkinleştirme am Aşağıdaki hata iletisidir:
Failed to instantiate module exampleApp due to: TypeError: $routeProvider.html5Mode is not a function
Bu sorunla ilgili bir çözümü olan var mı? Bu, içeriğin görüntülemelerden dolayı görüntülenmeyeceği anlamına gelir.
Düzenleme: herkes merak için, çalışma kodudur:
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
$routeProvider.
when('/blog', {
templateUrl: 'blog.html',
controller: 'BlogController'
}).
when('/page/ideas', {
templateUrl: 'ideas.html',
controller: 'IdeasController'
}).
otherwise({
templateUrl: 'home.html'
});
$locationProvider.html5Mode(true);
}]);
(doğru)' $ locationProvider.html5Mode kullanmayı deneyin üzerinde
<base href="/"
> etiketi eklemek zorunda. html5Mode, $ locationProvider yöntemidir. –Hmm, şimdi şunu alıyorum: ReferenceError: tanımlı değil VEYA ReferenceError: $ locationProvider tanımlı değil – JWDev
$ routeProvider'ı $ routeProvider –