วิธีทำหน้า 404 Page Not Found ใน Codeigniter

วิธีทำหน้า-404-Page-Not-Found
วิธีทำหน้า-404-Page-Not-Found

วิธีทำหน้า 404 Page Not Found ใน Codeigniter



วิธีทำหน้า 404 Page Not Found ใน Codeigniter

หน้าเพจ Error 404 หมายความว่าไม่มีหน้าเว็บหรือ url นั้นอยู่บนเว็บไซต์เรา การทำหน้าเว็บเพจ Error 404 ให้ friendly กับผู้ใช้งาน นอกจากจะทำให้เว็บไซต์ดูดี มีความน่าเชื่อถือแล้ว ยังช่วยเสริมในด้าน SEO อีกด้วย เพราะแทนที่เราจะปล่อยให้เป็นหน้าเปล่า ๆ ก็ทำให้เป็นหน้าที่ Error แบบมีสไตล์หน่อย ใส่เมนู ใส่ Footer ใส่ link เชื่อมโยง นำทางแนะนำให้ลองไปหน้าอื่น ๆ ที่อาจจะมีเนื้อหาใกล้เคียงกัน



ยิ่งถ้าเราได้ดูสถิติใน Google Analytics แล้ว พบว่าเว็บไซต์เรามีสถิติการเข้าหน้า Error 404 อยู่บ่อยครั้ง เพื่อไม่ให้เป็นการเสียผลประโยชน์ แนะนำเลยครับว่า ต้องออกแบบหน้า 404 ให้ดี มีการนำทางผู้ใช้งาน เป็นอย่างยิ่ง

วิธีทำหน้า 404 Page Not Found ใน Codeigniter

  • ปกติแล้วตัว CI เองจะมีหน้า Default 404 ให้เราอยู่แล้ว ซึ่งจะอยู่ในส่วนของ
    application/views/errors/cli/error_404.php
    

    ในไฟล์แต่ละไฟล์ แต่ละ Error จะมีตัวแปร เช่น $heading,$message ที่เราจะสามารถแก้ไขได้ที่ไฟล์

    system/core/Exceptions.php
    
  • ทีนี้ถ้าเราต้องการสร้าง Controller และ View แบบปรับแต่งเองโดยไม่ต้องไปยุ่งเกี่ยวกับไฟล์ระบบของ CI เราก็สามารถทำได้ โดยการสร้าง Controller และ View ปกติ เช่น
    application/controllers/Notfound.php
    class Notfound extends MY_Controller {
    	public function __construct() {
            parent::__construct();
        }
    	public function index()
    	{
    		$this->load->view('notfound_view',$this->PAGE);
    	}
    }

    จากนั้นก็สร้าง notfound_view.php ตามปกติ เมื่อได้เมธอดสำหรับแสดงผลหน้า Error 404 เรียบร้อยแล้ว ให้เปิดไฟล์

    application/config/routes.php 

    และใส่เมธอดที่เราต้องการให้แสดงผลเมื่อเข้าเว็บไซต์เราแล้วไม่เจอหน้านั้นที่ตัวแปร 404_override ในที่นี้ก็คือ Controller Notfound ดังตัวอย่างด้านล่าง

    $route['404_override'] = 'notfound';