AngularJS使用默认参数删除哈希(#)
我必须用多种语言建立这个网站,所以我在抽象状态下插入默认参数,如下所示:AngularJS使用默认参数删除哈希(#),angularjs,angular-ui-router,Angularjs,Angular Ui Router,我必须用多种语言建立这个网站,所以我在抽象状态下插入默认参数,如下所示: $urlRouterProvider.otherwise('/en'); var layoutState = { 'name': 'layout', 'abstract': true, 'url': '/:lang', }; var homeState = { 'name': 'home', 'parent': 'layout', 'templateUrl': './views/home.html
$urlRouterProvider.otherwise('/en');
var layoutState = {
'name': 'layout',
'abstract': true,
'url': '/:lang',
};
var homeState = {
'name': 'home',
'parent': 'layout',
'templateUrl': './views/home.html',
'data': {
'pageTitle': 'Home'
},
'controller': 'HomeCtrl as home'
};
然后主页状态如下所示:
$urlRouterProvider.otherwise('/en');
var layoutState = {
'name': 'layout',
'abstract': true,
'url': '/:lang',
};
var homeState = {
'name': 'home',
'parent': 'layout',
'templateUrl': './views/home.html',
'data': {
'pageTitle': 'Home'
},
'controller': 'HomeCtrl as home'
};
url的呈现方式如下:http://test.local/#!/en
所需的url为:http://test.local/en
,所以我尝试了以下选项:
$locationProvider.html5Mode({
enabled: true,
requireBase: false
}).hashPrefix("");
但是它不接收lang
params,url只是http://test.local/
有人能帮我解决这个问题吗?多谢各位 您是否配置了路由(在
.htaccess
中)?我是.htaccess
的新手。这是我徒劳的努力,但不起作用,所以我停止了思考<代码>重写规则^en/?$#/en[NC,L]请参阅此文档-问题是我想保留每个路由的:lang
默认参数。但如果我使用html5Mode:true
,该参数不被理解,它将抛出404错误。即使使用.htaccess