SEO的角度本地化URL,默认语言的语言环境参数,使用ui-router

时间:2016-08-24 08:40:14

标签: angularjs angular-ui-router

这就是我目前在我的角应用程序中设置基本状态的方式

  $stateProvider.state(AppState.APP, {
    abstract: true,
    url: '/{locale:(?:en|ja)}',
    views: {
      app: {
        template: '<div ui-view></div>'
      }
    }
  });

如果您访问domain.com/{locale}/

,则会将您重定向到domain.com/

假设我网站的默认语言是英语,我想从网址中删除en。例如:

有没有一种很好的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

我想也许这篇文章可以帮到你:https://fadeit.dk/blog/2015/03/12/angularjs-seo-for-angular-translate/

在文章中,它提供了AngularJS SEO友好翻译的分步教程。但是,在文章中,其默认语言设置为'en',因此您只需将默认语言更改为'jp',将另一种语言更改为'en',它还允许多语言缩放。

例如,将默认值更改为var absUrl = $location.absUrl(); if(absUrl.indexOf('/jp/') !== -1){ $scope.activeLang = 'jp'; } else{ $scope.activeLang = 'en'; } $translate.use($scope.activeLang);

//Construct url base
var port = $location.port();
//Port can be omitted on 80 or 443
port = (port === 80 || port === 443) ? '' : ':' + port;
var urlBase = $location.protocol() + '://' + $location.host() + port;

$rootScope.$on('$stateChangeSuccess',function(){
  $scope.jpUrl =  urlBase + '/jp' + $location.url();
  $scope.enUrl =  urlBase + $location.url();
});

for ( var i =1 ; i < 21 ; i++ ) {  
  if(i%3==0){
    console.log("Fizz");
    }
  if(i%5==0){
    console.log("Buzz");
  }
  if((i%3==0) && (i%5==0)){
    console.log("FizzBuzz");
  } else {
    console.log(i);
  }
}

希望这会对你有所帮助,如果我误解了你的问题,请通知我:)。