網址優化對搜尋引擎行銷而言,不只是重要而已,還是「最重要」,但中文網址的優化在國外的Framework裡通常支援度不足,甚至直接在slug的欄位,顯示不出來,只出現空白,因為辨識不出來,怎麼解決呢?看看LARAVEL怎麼只改一行就支援中文。
FAVEO HELP DESK TICKETING SYSTEM
一套好用的CRM軟體通常所費不孜,常常花了很多時間測試,到了最後才發現,竟然網址不支援中文,有種令人要吐血的感覺,畢竟花了那麼多的時間成本了。
只要改一行程式,就支援中文網址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public static function slug($title, $separator = '-') { $title = static::ascii($title); // Convert all dashes/underscores into separator $flip = $separator == '-' ? '_' : '-'; $title = preg_replace('!['.preg_quote($flip).']+!u', $separator, $title); // Remove all characters that are not the separator, letters, numbers, or whitespace. $title = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($title)); // Replace all separator characters and whitespace by a single separator $title = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $title); return trim($title, $separator); } |
程式看似複雜,其實總有脈絡可尋,關鍵字是「Slug」,找到這段程式之後呢?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public static function slug($title, $separator = '-') { //$title = static::ascii($title); // Convert all dashes/underscores into separator $flip = $separator == '-' ? '_' : '-'; $title = preg_replace('!['.preg_quote($flip).']+!u', $separator, $title); // Remove all characters that are not the separator, letters, numbers, or whitespace. $title = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($title)); // Replace all separator characters and whitespace by a single separator $title = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $title); return trim($title, $separator); } |
只要把第3行程式remark掉,其實就可以支援中文網址囉!
最重要的是,只要改這一行,所有的功能都正常,就支援中文網址了。
看懂程式的重要性
在這個資訊時代,不一定要會寫高深的程式,但一定要看的懂程式,常常一個小東西請別人改要花幾萬元,但是自已只要幾小時,而且請別人改小東西要「等」,自已動手DIY完全不用等。
註:FAVEO Help Desk Ticketing System