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