htaccess ลบนามสกุลไฟล์ php ด้วย mod rewrite และวิธีตรวจสอบ mod rewrite
htaccess ลบนามสกุลไฟล์ php (Removing .php with mod_rewrite เผื่อมีฝรั่งเข้ามาอ่านบ้าง ฮ่า) นั้นมีขั้นตอนอย่างไรบ้าง วันนี้ Ridshare นำมาบอกให้คนที่ต้องการทราบ และนำไปใช้กันได้ง่ายๆ แต่ต้องตรวจดูก่อนว่า เว็บเราใช้ mod rewrite ได้ไหม ?
ทำไมต้องใช้ .htaccess ละ ???
- ช่วยให้เราซ่อนไฟล์ที่แท้จริง จากผู้ไม่หวังดี
- ทำให้ url ของเราสวยขึ้น และ ทำให้เป็นมิตรต่อ SEO (ติดอันดับง่ายนั่นเอง)
- สั้นกระชับ ถ้าหากเราต้องการปรับแต่งเป็นอย่างอื่น ก็ทำได้เสมอ ขึ้นอยู่กับความต้องการ เช่น จาก ไฟล์ php เป็น ไฟล์ html หรือ จากไฟล์ ridshare-content.php เป็น main-ridshare-content.html (โดยเติม main- นำหน้าไฟล์ ก็สามารถทำได้ )
- และอื่นๆ อีกมากมาย
ก่อนจะลบชื่อไฟล์ php ด้วย mod rewrite เรารู้หรือปล่าวว่า เว็บเราใช้ mod rewrite ได้หรือไม่
ขั้นตอนตรวจสอบดูว่า เว็บเราใช้ mod rewrite ได้หรือไม่
โดยการตรวจสอบเว็บบน server ที่เราใช้บริการอยู่ หรือ server จำลอง (เช่น Xampp, Appserve เป็นต้น) ก็ตรวจสอบได้ทั้งสองแบบ
- ให้นำโค๊ดนี้ไปวางที่ไฟล์ใดไฟล์นึง เช่น วางไว้ที่ไฟล์ index.php
<?php echo phpinfo(); exit; ?>
- รันไฟล์ index.php ขึ้นมา เราจะเห็นได้ว่ามันแสดงรายละเอียดข้อมูลดังภาพด้านล่าง (ภาพด้านล่าง เป็นการจำลองจากโปรแกรม Xampp ตัวอย่างนี้ 172.0.0.1/ridshare.com/index.php)
- ค้นหา คำว่า mod_rewrite ( โดยการกด ctrl + f แล้วพิมพ์ค้นหา mod_rewrite ) ถ้าเกิดเจอแสดงว่า server เรา ได้ติดตั้ง mod_rewrite เรียบร้อยแล้ว ตามรูปด้านล่าง
- แต่ถ้าหากไม่เจอ แสดงว่า เรายังไม่ได้ ติดตั้ง mod_rewrite เราสามารถแจ้งไปที่ server หรือ host ที่เราเช่าบริการให้เขาติดตั้งให้หรือถ้าใช้โปรแกรมจำลอง ก็ให้เข้าไปที่โปรแกรมจำลอง แล้วกด config ที่ apache ( ตามรูปด้านล่าง จะใช้โปรแกรม Xampp ในการจำลอง)
ขั้นตอนการสร้างไฟล์ .htaccess เพื่อลบไฟล์ php
- สร้างไฟล์ .htaccess ขึ้นมา อาจจะสร้างใน text editor ที่เราใช้งาน เช่น Atom, Sublime, Phpstorm, Dreamweaver หรืออื่นๆ
- วางไว้ .htaccess ไว้ folder root เช่น www.ridshare.com/index.php เราก็จะวางไว้ไฟล์ .htaccess ไว้ในระดับเดียวกับ ไฟล์ index.php นั้นเอง จะได้ตามนี้ www.ridshare.com/.htaccess
- เปิดไฟล์ .htaccess ขึ้นมารูปแบบทั่วไปในการ ลบหรือซ่อนนามสกุล php (Format > Removing .php with mod_rewrite )
RewriteEngine On RewriteRule something something.php [L]
โค๊ดด้านบน เป็นเพียง รูปแบบในการเขียน ส่วนด้านล่าง จะเป็นรูปแบบในการใช้งานจริง นำโค๊ดด้านล่างนี้ มาวางใส่ในไฟล์ .htaccess ได้เลย
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*) $1.php [L] </IfModule>
หลังจากนั้น เราก็ save ไฟล์ แล้ว ทดสอบได้เลยครับ จะได้ตามรูปด้านล่าง
จะสังเกตได้ว่า remove.php นั้น แสดงแค่ ชื่อไฟล์เท่านั้น ส่วนนามสกุล นั้นถูกซ่อนหรือ ลบไปเรียบร้อย
(ก่อนลบนามสกุลไฟล์)
การทำ mod rewrite นั้นสามารถ ทำได้หลายอย่าง หลายรูปแบบ (มีอีกเยอะ ไว้คร่าวหน้ามีโอกาส จะมาเขียนเพิ่มให้) เช่น
- www.ridshare.com/insert.php?id=102 เปลี่ยนมาเป็น www.ridshare.com/insert/102/
- www.ridshare.com/remove.php?id=102&token=q12awew23 เปลี่ยนมาเป็น www.ridshare.com/main-remove/102/q12awew23/
- เป็นต้น
ขอบคุณข้อมูลจาก เว็บ
หวังว่าบทความนี้ จะเป็นประโยชน์แก่ผู้อื่น ไม่มากก็น้อยน่ะครับ เนื่องจากบทความนี้เกิดจากผมได้มีโอกาสได้เขียน file .htaccess ให้ลูกค้าท่านนึง ที่ติดต่อเข้ามา ผมก็ได้หาข้อมูล และเขียนให้ลูกค้าเป็นที่เรียบร้อย เลยอยากนำประสบการณ์มาแชร์ให้เพื่อนๆ ได้ทราบกัน และสามารถนำไปใช้งานกันได้
หากชอบใจ ถูกใจบทความ ก็สามารถ กดไลค์ กดแชร์ ให้เพื่อนๆ ได้อ่านกันบ้างน่ะครับ ฝากติดตามบทความต่อๆ ไปด้วยน่ะครับ ขอบคุณครับ