多语言URL结构上的内容重复

时间:2014-03-25 12:39:32

标签: php codeigniter seo

我正在使用CodeIgnitore开发一个多语言网站。目前我已按如下方式设置路由。

$route['default_controller'] = "home";
$route['^(en|fr)/(.+)$'] = "$2";
$route['^(en|fr)$'] = $route['default_controller'];
$route['404_override'] = '';

现在,我可以使用以下网址访问主页

  1. domain.com
  2. domain.com/en
  3. 这两个网址都显示英文主页,因此会因重复内容而受到处罚。影响SEO。我有其他网址会导致同样的问题。这有什么解决方案吗?

    感谢。

1 个答案:

答案 0 :(得分:2)

您可以重定向domain.com - > domain.com/en。

所以你不会有重复的内容。

在你的home.php(application / controllers / home.php)中:

function __construct(){
    parent::__construct();

    if(!preg_match("/(en|fr)/",$_SERVER['HTTP_HOST'])){
         $this->load->helper('url');
         redirect('/en', 'location', 301);
    }
 }