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

标签 php codeigniter seo

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

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

现在我可以使用以下 URL 访问主页

  1. domain.com
  2. domain.com/en

这两个 URL 都以英文显示主页,因此这会因重复内容而受到惩罚并影响 SEO。我有其他 URL 会导致同样的问题。有什么解决办法吗?

谢谢。

最佳答案

您可以重定向 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);
    }
 }

关于php - 多语言 URL 结构上的重复内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22634915/

相关文章:

php - 如何过滤数组以删除 child 为零的 parent ?

javascript - 如何在不刷新页面的情况下自动刷新多个php变量?我只能办理一台atm

javascript - div insidehtml 不采用 html

php - 为什么聚合函数在我的 laravel SQL 查询中不起作用?

使用 Codeigniter 进行 PHP 路由(URL 中的标题用于 SEO)

asp.net - 从 WebForms 4.0 Asp.Net 中的 Page.GetRouteURL() 返回的错误链接

php - 使用 Doctrine2 的 CodeIgniter 到 Symfony2

php - Codeigniter MY_Model 类

html - HTML5 页面结构如何影响 W3C 验证和 SEO

php - php 和 mysql 中动态网站的搜索引擎优化/内容列表/url 重写