วันศุกร์ที่ 8 มีนาคม พ.ศ. 2556

Yii Framework กับการทำ Friendly URL

     วันนี้จะมาสอนปรับแต่ง URL ของ Yii (PHP Framework) กันครับ URL โดยปกติของ Yii Framework ที่เป็นค่าเริ่มต้น จะมีรูปแบบ เช่น http://localhost/myyii/index.php?r=site/login แต่เราก็สามารถเปลี่ยน URL ได้อีกครับ เราจะเรียกวิธีนี้ว่า SEO Friendly URL เช่น อยากเปลี่ยนเป็น http://localhost/myyii/site/login ก็สามารถทำได้
     มีวิธีเปลี่ยน URL หรือ Mod Rewrite มีอยู่ 2 วิธีด้วยกัน วิธีแรกสามารถเปลี่ยนโดยที่ไม่ต้องไปConfig Web Server ให้เปิด Mod Rewrite ส่วนที่วิธีที่้สอง จะต้องเข้า Config Web Server เพื่อเปิดใช้ก่อน และต้องใช้ร่วมกับไฟล์ .htaccess

1.มาดูวิธีแรกกันเลยครับ ไปที่โปรเจ็ค Yii /protected/config.main.php เปิดไฟล์ main.php ขึ้นมา ตรง component ให้เปิดคอมเม้นท์คำสั่ง urlManager ดังรูป


เวลาใช้งานเราจะเห็น URL แสดง เช่น http://localhost/myyii/index.php/site/login

2.วิธีที่ 2 จะต้องไปเปิด Module Mod Rewrite ของ Web Server ของเราก่อนครับ จากนั้นเราจะเพิ่มคำสั่ง 'showScriptName' => false เข้าไปใน urlManager ดังรูป


และสร้างไฟล์ .htacess ของเราไว้ในตำแหน่งเดียวกับ index.php ดังรูป


ให้เปิดไฟล์ .htacess ขึ้นมาและเพิ่มโค๊ดดังนี้

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

จะได้ URL http://localhost/myyii/site/login สังเกตุว่าจะไม่มี /index.php/ เหมือนวิธีแรกครับ

ไม่มีความคิดเห็น :

แสดงความคิดเห็น