Angularjs 角度$routeProvider参数冲突

Angularjs 角度$routeProvider参数冲突,angularjs,routes,route-provider,Angularjs,Routes,Route Provider,我的应用程序中存在路由问题 // ============ SITE CATEGORY ============ $routeProvider.when( '/:slug/' , { controller: 'siteCategory', templateUrl : 'partials/site/category.html' }); // ============ LOGIN & REGISTER ============ $routeProvider.when

我的应用程序中存在路由问题

    // ============ SITE CATEGORY ============
$routeProvider.when( '/:slug/' , {
    controller: 'siteCategory',
    templateUrl : 'partials/site/category.html'
});

// ============ LOGIN & REGISTER ============
$routeProvider.when( '/login' , {
    controller: 'login',
    templateUrl : 'partials/site/login.html'
});

$routeProvider.when( '/register' , {
    controller: 'register',
    templateUrl : 'partials/site/register.html'
});

我希望url()加载类别模板,它可以工作,但当我转到/login或/register时,它也会加载类别模板而不是给定的模板。

尝试更改顺序
:slug
应该在末尾

$routeProvider.when( '/register' , {
    controller: 'register',
    templateUrl : 'partials/site/register.html'
})
.when( '/login' , {
    controller: 'login',
    templateUrl : 'partials/site/login.html'
})
.when( '/:slug/' , {
    controller: 'siteCategory',
    templateUrl : 'partials/site/category.html'
});

删除$routeProvider之前,你是什么意思?试过了,但还是一样的结果!作品。我还有一件事,否则({redirectTo:'/404'});如何将404改为:slug?localhost/blabla会将您发送到localhost/:slug,因为有相等的值。将/:slug/改为ex:/book/:slug,并称之为localhost/book/something是的,但我真的想要一个没有/book/的漂亮url,这可能吗?我有一些类别,比如书籍、电影,我希望URL是:,这看起来更好,但它应用了我的:slug:(@DamianWójcik在
解析
中验证slug,如果没有,则重定向validate@charlietfl它应该是什么样子?