Angularjs 带有参数的htm5mode不';我不工作
首先,这是我的代码: 配置应用程序:Angularjs 带有参数的htm5mode不';我不工作,angularjs,angularjs-routing,location-provider,Angularjs,Angularjs Routing,Location Provider,首先,这是我的代码: 配置应用程序: promoApp.config(['$routeProvider','$locationProvider',function($routeProvider,$locationProvider){ $locationProvider.html5Mode(true); $routeProvider. when('/home',{ templateUrl: 'views/home.html',
promoApp.config(['$routeProvider','$locationProvider',function($routeProvider,$locationProvider){
$locationProvider.html5Mode(true);
$routeProvider.
when('/home',{
templateUrl: 'views/home.html',
controller: 'HomeController'
}).
when('/web',{
templateUrl: 'views/web.html',
controller: 'WebController'
}).
when('/portfolio',{
templateUrl: 'views/portfolio.html'
}).
when('/game',{
templateUrl: 'views/game.html'
}).
when('/contact',{
templateUrl: 'views/contact.html',
controller: 'ContactController'
}).
when('/admin',{
templateUrl: 'views/admin.html',
controller: 'AdminController'
}).
when('/blog_admin',{
templateUrl: 'views/blog_admin.html',
controller: 'BlogAdminController'
}).
when('/blog_edit', {
templateUrl: 'views/blog_edit.html',
controller: 'BlogEditController'
}).
when('/blog_edit/:blogId', {
templateUrl: 'views/blog_edit_post.html',
controller: 'BlogEditPostController'
}).
when('/blog',{
templateUrl: 'views/blog.html',
controller: 'BlogController'
}).
when('/blog/:blogId',{
templateUrl: 'views/blog_post.html',
controller: 'BlogPostController'
}).
otherwise({
redirectTo: '/home'
});
}]);
我的控制器BlogPostController:
blog.controller('BlogPostController',['$scope','$http','$upload','$routeParams','$sce',function($scope,$http,$upload,$routeParams,$sce){
$scope.blogId = $routeParams.blogId;
$scope.$upload = $upload.upload({
method: 'POST',
url: 'edit.php',
data: {'title': $scope.blogId}
}).success(function(data){
if(data.error){
$scope.resultMessage = data.message;
$scope.result = 'bg-danger';
}else{
$scope.post = data;
$scope.pastToPlainText = $sce.trustAsHtml;
}
});
$http.get('backend/muestra.php').success(function(data){
if(data.error){
$scope.resultMessage = data.message;
$scope.result = 'bg-danger';
}else{
$scope.entradas = data;
}
}).error(function(){
$scope.resultMessage = "Se ha producido un error al consultar con la base de datos";
});
}]);
我的博客.html
<div class="container">
<div class="row">
<div class="col-lg-3 position-panel-blog hidden-md hidden-sm hidden-xs">
<div class="panel panel-primary margin-index">
<div class="panel-heading">
<h3 class="panel-title">Entradas recientes</h3>
</div>
<div class="panel-body">
<div ng-repeat="entrada in entradas | limitTo: 5">
{{$index + 1}}. <a ng-href="/blog/{{entrada.title}}" class="link-blog">{{entrada.title}}</a>
</div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Nuestros servicios web</h3>
</div>
<div class="panel-body">
<img src="images/que-ofrecemos/portada_web.jpg" alt="Nuestros servicios web" class="image-anuncio">
<div class="acceder">
<a href="#/web" class="btn btn-primary">Accede ahora</a>
</div>
</div>
</div>
</div>
<div class="blog-position col-lg-8" ng-repeat="entrada in entradas">
<div class="thumbnail">
<div class="margin-content-blog">
<a ng-href="/blog/{{entrada.title}}" class="link-blog"><h1 class="format-title-blog">{{entrada.title}}</h1></a>
<div ng-bind-html="pastToPlainText(entrada.text)" class="text-blog"></div>
<slick infinite="false" dots="true" slides-to-show="3" slides-to-scroll="1">
<div ng-repeat="image in entrada.images track by $index">
<img src="{{image}}" alt="Imagen de la entrada {{entrada.title}}" class="image-post img-responsive">
</div>
</slick>
<div class="row">
<div class="col-lg-4">
<!-- Inserta esta etiqueta en la sección "head" o justo antes de la etiqueta "body" de cierre. -->
<script src="https://apis.google.com/js/platform.js" async defer>
{lang: 'es'}
</script>
<!-- Inserta esta etiqueta donde quieras que aparezca Botón Compartir. -->
<div class="g-plus" data-action="share"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
累犯
{{$index+1}}。
纽斯特罗斯服务网
{lang:'es'}
单击转到文章时,模板blog_post.html将根据$route.current.templateUrl加载,但浏览器显示的内容与blog.html相同,并且不显示blog_post.html模板的内容。如果没有HTML5模式,这将正常工作,不会出现问题。可能HTML5模式不适合参数链接(/blog\u edit/:blogId)。下面我用图片更好地解释了这一点
使用HTML5模式启用:
要支持以HTML5模式创建的URL的直接链接,您需要在服务器上重写URL。例如,如果您正在使用Apache,请通过
mod_rewrite
发件人:
服务器端
使用这种[HTML5]模式需要在服务器端重写URL,基本上,您必须重写指向应用程序入口点的所有链接(例如index.html)
如果您已经这样做了,请同时提供相关的服务器配置。Hello@divideandconquer.se。这是我的.htaccess文件。在服务器配置中有什么我必须做的吗?@Dominuskernel很抱歉没有响应。.htaccess看起来是正确的。但是也许你应该试着去掉预渲染的东西,让它在没有预渲染的情况下工作?