我正在將一個複雜的舊網站遷移到一個使用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