不得不承認的是,一些大型網站對中文URL采取謹慎的態度,僅僅是在一些小的功能比如搜索或者tag標簽上使用中文URL,這是可以理解的,因為大規模的更換URL結構會使網站降權甚至被K,而這些大型網站的權重在各個行業內基本上已經無法撼動了,短時間內中小型網站想要依靠優化技術對這些大網站進行超越是不可能完成的任務,所以這些大網站也就沒有必要大規模更換URL。而對于小型網站或者是新站來說,使用中文URL絕對可以使自己的排名提高一個檔次,完顏亮是怎么說的來著:“提兵百萬西湖上,立馬吳山第一峰!”
困擾中文URL使用者的一個問題就是亂碼的問題,google以及一些國外的搜索引擎是可以識別國標碼utf-8的中文URL,而對于gb2312的不識別,而百度在很長的一段時間內不識別utf-8的中文URL,但是在今年年初就已經支持了utf-8的中文地址,所以現在的解決方法就是把你的網站編碼換成 utf-8,然后統一用urlencode把中文地址格式化成三字節字符串,這樣所有搜索引擎都可以識別,但是,有人擔心萬一百度改回原來那種只識別gb2312編碼的方式怎么辦,因為百度自身的編碼就是gb2312的,其實不用擔心,這個完全可以用技術解決,也就是判斷如果是utf-8的編碼,可以強行轉換成gb2312的編碼,這樣就可以保證無論是gb2312還是utf-8,百度都可以識別了,其具體方法如下:
$url = '//www.xiaohao.net/中文/中華文化';
echo urlencode(mb_convert_encoding($url, 'utf-8','gb2312', ))."\n";
echo rawurlencode(mb_convert_encoding($url, 'utf-8','gb2312'))."\n";
運行會發現編碼已經轉換了,如果你不喜歡用mb_convert_encoding,也可以用iconv函數,效率會更高。
謹以此文為祖國慶生,愿偉大祖國永遠繁榮富強。