Archive

文章標籤 ‘wordpress’

WordPress 排除中文網址無法顯示

2010年12月12日 尚無評論

好一陣子沒寫網誌,剛換新的部落格系統,新版第一篇回憶過去,再下一篇當然就是開始新的開始,話說在試用wordparess時,事實上試了許久才更新上去,原因就是希望舊網址都能適用,而wordpress剛好有提供基本的以靜態固定網址命名,所以在一安裝後就調整為使用固定網址,設定的方式在下面功能:

靜態固定網址的好處多多,在此就不多說,有想瞭解更多的請自行上google查查;依舊網址的架構,調整了網誌固定網址及分類和TAG的路徑,調整如下:

上面就是小弟的設定,請大家不要亂抄,因為這是小弟舊網站的架構,你們要設定可以設成自己喜歡的!!~~ (重點是那個%postname% 是文章網址別名,和標題不一樣喔),建議可選擇第二種或第三選設定方式,有年月看起來更不錯!! (小弟蠻愛這種的路徑,只是~~唉~都是為了要相容舊款)

設定好後,試用了一下,看似正常,但發現~中文網址似乎連結不上,問了google大師,發現中文似乎有點問題,不過大家的問題似乎都是在分類中文出現問題,偏偏小弟分類及標籤都是正常的~見鬼了!!    好吧!!~只好自已動手調整!!

小弟目前使用的版本是v3.0.3 (改版速度真快~試用時v3.0.1 上線時V3.02 而馬上就又改版啦)要調整的程式為 wordpress\wp-includes\query.php 這隻

請找到以下這兩行:

$q[‘name’] = sanitize_title($q[‘name’]);
$where .= ” AND $wpdb->posts.post_name = ‘” . $q[‘name’] . “‘”;

將q[‘name’]改成增加轉換編碼的function即可,如下:

$q[‘name’] = urldecode(sanitize_title($q[‘name’]));
$where .= ” AND $wpdb->posts.post_name = ‘” . $q[‘name’] . “‘”;

因為測試到有些中文字好像出不來,所以又再去瞭解了一下!! 要調整的程式為 wordpress\wp-includes\pluggable.php 這隻

請找到以下這一行( 就是wp_sanitize_redirect這個函式):

function wp_sanitize_redirect($location) {

將其中有一行註解掉就行,如下,這行應該是判斷網址如有一些怪字元~就會被換掉:

//$location = preg_replace(‘|[^a-z0-9-~+_.?#=&;,/:%!]|i’, ”, $location);

再測一下~就正常啦!! (這行應該是安全性考量,要拿掉請自行三思)

最後要特別注意一下,因為這是動到wordpress核心的程式,不建議改~但沒法子~所以要提醒一下~目前wordpress 有提供自動更版,他是下載後會自動更新覆蓋至原本程,講到這裡大家應該就知道啦,你剛更動的會被蓋掉不見~!!  所以要升級前請先三思!!  (哈~~小弟是苦主~好險~還記得改了哪些~不然又要再de…bug 一次)

Categories: 部落格更改誌 Tags:
分頁: 上一頁 1 2 3