自定义angularjs路由url
目前,我使用Angular Js这种方式进行路由,工作正常自定义angularjs路由url,angularjs,angular-routing,Angularjs,Angular Routing,目前,我使用Angular Js这种方式进行路由,工作正常 config(["$routeProvider", function ($routeProvider, $mdThemingProvider) { $routeProvider .when('/', { templateUrl: '/templates/home.html', controller: 'smu72Controller'
config(["$routeProvider", function ($routeProvider, $mdThemingProvider) {
$routeProvider
.when('/', {
templateUrl: '/templates/home.html',
controller: 'smu72Controller'
})
.when('/contact', {
templateUrl: '/templates/contact.html',
controller: 'smu72Controller'
})
.when('/objects', {
templateUrl: '/templates/objects.html',
controller: 'smu72Controller'
})
.when('/objects/:objectId', {
templateUrl: '/templates/object.html',
controller: 'smu72Controller'
})
.when('/services', {
templateUrl: '/templates/services.html',
controller: 'smu72Controller'
})
.otherwise({
redirectTo: "/"
});
}
]);
但是有了这段代码,我得到了外观难看且不利于seo的url,如host/index.html#sectionname
,我应该如何更改它以获得路由url为host/sectionname
另外,我正在使用Index.html页面上的
ng视图获取模板进行div。通过使用$locationProvider
模块并将HTML5模式设置为true
(HTML5 API的使用),我们摆脱了丑陋的
通过使用$locationProvider
模块并将HTML5模式设置为true
(使用HTML5 API),我们摆脱了丑陋的
默认情况下,Angular使用hashbang模式,您可以关闭该模式并使用HTML5模式—使用该模式您可以获得很好的URL—但它在旧浏览器中不起作用。要启用此功能,请在应用程序的“配置”部分的下面一行输入$locationProvider
$locationProvider.html5Mode(true)代码>
阅读这里的更多信息。默认情况下,Angular使用hashbang模式,您可以关闭此模式并使用HTML5模式-通过此模式您可以获得很好的URL-但它在旧浏览器中不起作用。要启用此功能,请在应用程序的“配置”部分的下面一行输入$locationProvider
$locationProvider.html5Mode(true)代码>
请在此处阅读更多信息。不要只转储代码,请尝试添加一些描述作为参考well@dreamweiver,你是对的,但是这个答案很清楚。不要只是转储代码,试着添加一些描述well@dreamweiver,你们说得对,但这个答案很清楚。谢谢你们,两个答案实际上都是正确的,所以我只选择了最古老的一个。谢谢你们,这两个答案实际上都是正确的,所以我只选择了最老的一个。
config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: '/templates/home.html',
controller: 'smu72Controller'
})
/* your all other route specifications */
$locationProvider.html5Mode(true);
}