我正在将一个复杂的旧网站迁移到一个使用codeigniter编码的新网站,并且由于codeigniter路由配置的工作方式,导致重复内容的许多重写url问题。codeigniter,如何避免重复的内容,因为路由配置不正确?
我有旧网址是这样的:
- /detail.php?id=ABCDE & LANG = EN &页= 2
- /细节/ ABCDE/EN/2
新网站改为拥有seo友好的网址,例如:
- /en/products/hard-disks-2.html
以我的路由配置我:
- $路线[ '(:任何)/(:任何)/(:任何)'] = '控制器/ $ 1/$ 2/$ 3' ;
- $ url_suffix才能是 '的.html'
这是导致重复的内容,因为:
- /EN /产品/硬盘-2
- /EN /产品/硬盘-2.HTML
- /en/products/hard-disks-2.html?p=2
- /EN /产品/硬盘-2?p = 2时
- /en/products/hard-disks-2.html/
- /en/products/hard-disks-2.html/.html
上述所有的有效期为笨路线和这导致网站内的重复内容。
有没有办法避免这种情况? 也许使用正则表达式?
我不能用.htaccess解决这个问题,因为网站有太多的可能结合的网址,我也有一些控制器,我仍然需要使用“获取”参数。
如果你从来没有链接重复的网址,谷歌将永远不会找到它... – Aren 2011-05-19 22:02:23
@Aren倒霉了一些其他人的错误或者代码本身会发生,那就发生了;也有很多这是因为旧的网站是完全旧式/index.php?a=3&b=4所以.htaccess无法承受所有的参数与301迁移旧网址 – Antonio 2011-05-20 12:15:24