目前的前端技术市面上常见的两种angularjs、Vuejs。这两种前端技术的URl模式都有两种:hash,history,其中hash就是有“#”号的路由模式,url中携带“#”号,例:http://ncai.netconcepts.cn#/app/meeting/view
这样的路径对于SEO优化有一定的影响,那该如何去掉angularjs和vuejs中的“#”号呢?
Angularjs:对于默认的情况,是不启动HTML5模式的,URL中会包括一个#号
所以我们在这里要启动HTML5模式,在你的路由配置文件中添加以下代码
angular.module('app')
.run(
[ '$rootScope', '$state', '$stateParams',
function ($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
}
]
)
.config(
[ '$stateProvider', '$urlRouterProvider','$locationProvider',
function ($stateProvider, $urlRouterProvider,$locationProvider) {
$locationProvider.html5Mode(true);
Vuejs:vue中默认的router的mode是hash模式,需要将其改成history模式
const router = new VueRouter({
mode: 'hash',//hash、history
上一步,你会发现通过路由跳转的完全没有问题,但是手动刷新之后,页面找不到,所以要在Nginx中做一些配置
添加type_files
type_files / {
$uri $uri/ /index.html;
}
收工,这样设置以后,你发布好的网站就可以完全去掉“#”
http://ncai.netconcepts.cn/app/meeting/view