รับทำเว็บไซต์, เว็บแอพลิเคชั่น และระบบสำหรับธุรกิจของท่าน

เรายินดีรับทำเว็บไซต์ตามความต้องการของท่าน เช่น เว็บส่วนตัว, เว็บร้านค้า, เว็บชุมชน

รวมถึงรับพัฒนาระบบสำหรับธุรกิจของท่านที่มีความซับซ้อนขึ้น เช่น ระบบจองห้องพัก, ระบบสต๊อกสินค้า, ระบบซื้อขายจ่ายเงินออนไลน์ ราคามิตรภาพและยุติธรรม

ท่านสามารถดูผลงานที่ผ่านมาของเราได้ที่หน้า Portfolio ครับ

วันอาทิตย์ที่ 13 พฤษภาคม พ.ศ. 2555

การยกเว้นบางไฟล์ บางโฟลเดอร์ ไม่ต้องทำงานใน CakePHP

ปกติแล้วเวลาเราใช้ CakePHP เราจะไม่สามารถพิมพ์ URL เพื่อเข้าถึงไฟล์และโฟลเดอร์ได้โดยตรง เพราะทุกไฟล์และโฟลเดอร์อยู่ในการควบคุมโดย CakePHP หมด อย่างเช่นในรูปที่ 1

ไฟล์และโฟลเดอร์ที่อยู่นอก CakePHP
รูปที่ 1: ไฟล์และโฟลเดอร์ที่อยู่นอก CakePHP

เราจะไม่สามารถเข้าถึง http://www.domain.com/blog, http://www.domain.com/forums และ http://www.domain.com/phpinfo.php ได้ แต่เราจะพบหน้า error 404 ของ CakePHP แทน


ถ้าเราอยากยกเว้นไฟล์หรือโฟลเดอร์เหล่านี้ล่ะ เพื่อที่แต่ละโฟลเดอร์เราจะได้ใส่โปรแกรม blog, forums เป็นของตัวเอง เราสามารถแก้ไขได้ง่ายๆ ครับ โดยไปเขียนกฎ mod_rewrite เพิ่มในไฟล์ .htaccess ซึ่งจะเป็นกฎที่กำหนดว่า หากเจอไฟล์หรือโฟลเดอร์ที่ระบุไว้ ไม่ต้องไปทำงานต่อใน CakePHP
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    blog -    [L]
   RewriteRule    forums -    [L]
   RewriteRule    phpinfo.php -    [L]
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule/>
เช่นในตัวอย่างไฟล์ .htaccess ของ CakePHP นี้บรรทัดที่ 3, 4, 5 เราเขียนเพิ่มไป หมายความว่า ถ้า mod_rewrite เจอ URL ที่ชื่อ blog, forums หรือ phpinfo.php ไม่ต้องทำการ rewrite แล้วจบการทำงานที่บรรทัดนั้นเลย ทำให้ URL ที่ชื่อ blog, forums หรือ phpinfo.php ไม่เข้าสู่ CakePHP แต่จะทำงานเหมือนไฟล์ PHP ธรรมดา

ทีนี้เราจะเข้า http://www.domain.com/blog, http://www.domain.com/forums และ http://www.domain.com/phpinfo.php ได้แล้วครับ

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

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