สอน codeigniter วิธีตั้งค่า url ภาษาไทย
การพัฒนาเว็บไซต์ที่ดีและมีคุณภาพสิ่งสำคัญมาก ๆ ที่นักพัฒนาต้องคำนึงถึงอยู่ตลอดคือ ทำยังไงให้เว็บไซต์ ทำอันดับ
ได้ดีใน Search Engine ในขั้นตอนของการพัฒนาจึงเป็นส่วนหนึ่งการทำให้เว็บไซต์ให้รองรับ SEO
การปรับให้ url ของเมนูต่าง ๆ ภายในเว็บเราสามารถเข้าถึงหรือใช้งานได้ทั้งภาษาไทยและภาษาอังกฤษ
เป็นวิธีการหนึ่งของการทำ url friendly ซึ่งมีผลทาง seo อันดับการค้นหาใน google search engine
วิธีการตั้งค่าให้ codeigniter สามารถใช้งาน url ภาษาไทยได้ไม่ไช่เรื่องยาก สามารถทำได้ตามขั้นตอนดังนี้
1. เปิดไฟล์ application/config/config.php ค้นหาตัวแปรที่ชื่อว่า permitted_uri_chars
และเพิ่มอักขระภาษาไทย ทั้งสระและพยัญชนะลงไป ยกเว้นอักขระพิเศษเช่น @#$ เป็นต้น
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
จะได้เป็น
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-ก-ฮะาิีุูเะแำไใๆ่้๊๋ั็์ึื';
2. จากนั้นเปิดไฟล์ system/core/URL.php ค้นหาตัวแปรที่ชื่อว่า $this->segments[]
เปลี่ยนจาก
$this->segments[] =$val
เป็น
$this->segments[] = urldecode($val)
เหตุผลที่ต้องเพิ่ม urldecode ก็เพราะว่าโดยปกติ url ที่เป็นภาษาไทยจะถูก encode ไว้
การใช้ urldecode ก็เพื่อให้แสดงผลภาษาไทยได้อย่างถูกต้องบน address bar ของ browser
3. หลังจากทำตามสองขั้นตอนเบื้องต้นเสร็จแล้ว ตอนนี้เราก็สามารถใช้งาน url ภาษาไทยได้แล้ว
ต่อไปก็เป็นขั้นตอนของการอ้างอิง ระหว่างตัว controller ว่าจะมีชื่อเป็นภาษาไทยว่าอย่างไร
ขั้นตอนนี้ให้เปิดไฟล์ application/config/routes.php
จากนั้นทดลองเพิ่ม routes เข้าไปในลักษณะแบบนี้ $route[‘ชื่อภาษาไทย’]=”controller name”;
ตัวอย่างถ้าต้องการตั้งชื่อให้กับ application/controllers/home.php
จะเขียนออกมาได้ประมาณนี้
$route['หน้าแรก']="home";
และเราสามารถเพิ่ม routes เข้าไปได้อีกเรื่อย ๆ ตามจำนวนหน้าหรือ controller ที่เรามีอยู่
จะได้ในลักษณะดังนี้
$route['default_controller'] = 'home'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE; $route['หน้าแรก']="home"; $route['ผลิตภัณฑ์']="product"; $route['ออกแบบ']="design"; $route['เข้าสู่ระบบ']="login";
หวังว่าจะเป็นประโยชน์สำหรับทุกท่านที่ใช้ codeigniter framework ในการพัฒนาเว็บไซต์