Bo-Blog Tip: Fix lỗi mã hóa URL khi viết tag bằng tiếng việt

315

Mặc định Bo-Blog mã hóa các liên kết ( URL ) của các tag tới 2 lần. Điều này sẽ gây mất thẩm mỹ cho các liên kết đối với người xem trên blog hoặc trong kết quả hiển thị của các máy tìm kiếm .
Mình sẽ nêu rõ vẫn đề qua ví dụ sau:
– Bình thường nếu trang mình đặt một tag cho bài viết có tên học tiếng anh thì URL của tag sẽ bị mã hóa thành http://canthoit.info/tags/h%E1%BB%8Dc_ti%E1%BA%BFng_anh/ ( bạn có thể thấy URL này khi đưa chuột lại tag hoặc click vào tag )
– Đều Minit và các bạn mong muốn không phải là các URL bị mã hóa xấu xí như thế. Cho nên hôm nay Minit sẽ hướng dẫn cho các bạn cách chỉnh sữa để có được URL giống như Cần Thơ IT đang dùng ( dạng http://canthoit.info/tags/học_tiếng_anh ).
Hướng dẫn sẽ được thực hiện trên file gốc của phiên bản Bo-Blog 2.1.1
– Đầu tiên bạn tìm vào thư mục inc của blog sau đó mở file có tên boblog_class_run.php để tiếng hành chỉnh sửa code ( khuyến cáo các bạn nên dùng các chương trình như : EditPlus , UltraEdit hay Notepad ++ để chỉnh sửa không nên dùng notepad có sẵn trong windows vì rất khó xem code và dễ gây lỗi ) . Trong bài hướng dẫn này mình dùng EditPlus 3 để chỉnh sửa.
– Tiếp theo bạn cần di chuyển xuống phía dưới và tìm đoạn code sau :
[codes=php]$eachtag_encoded=urlencode(urlencode($eachtag));[/codes]Đoạn code này xuất hiện ở 2 dòng 479, 690 ( trong EditPlus 3 bạn có thể bấm phím Ctrl+G và gõ vào số 479, 690 để di chuyển nhanh xuống 2 dòng này )
Bạn hãy sửa lại thành :
[codes=php]$eachtag_encoded=$eachtag;[/codes]Sau khi sửa xong nhớ save lại nhé và upload đè lại file này trên host để thấy sự thay đổi nhé.

Nếu bạn không muốn tự chỉnh sửa thì có thể download file mình chỉnh đã edit sẳn bên dưới để sử dụng .
Download here
Cập nhật thêm hướng dẫn sửa URL của tag trong khi  duyệt bài viết theo tag ( http://canthoit.info/tag.php )
Đối với trường hợp này thì các bạn mở file có tên mod_tag.php ( cũng nằm trong thư mục inc ) sau đó tìm và xóa những chổ bị mã hóa 2 lần ( có 4 chổ urlencode ) .
Trước khi chỉnh sửa
[codes=php]$tag=addslashes(urldecode($tag));//dòng 23
$urlref=getlink_tags(urlencode(urlencode($alltags[‘tagname’][$i])));//dòng 35
$urlref=getlink_tags(str_replace(‘%’, ‘%%’, urlencode(urlencode($tag))), $mode, ‘%s’);//dòng 88
href=””.getlink_tags(urlencode(urlencode($tag)), ‘1’).”” title=”{$lnc[182]}”>{$lnc[183]} | {$lnc[185]} ]”;//dòng 90[/codes]Sau khi chỉnh sửa
[codes=php]$tag=addslashes($tag);//dòng 23
$urlref=getlink_tags($alltags[‘tagname’][$i]);//dòng 35
$urlref=getlink_tags(str_replace(‘%’, ‘%%’, $tag), $mode, ‘%s’);
if ($flset[‘modeselectable’]!=1) $pagebar.=” [ {$lnc[181]} {$lnc[183]} | {$lnc[185]} ]”;//dòng 90[/codes]

Download here