ITPHP

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 เป็นต้น) ก็ตรวจสอบได้ทั้งสองแบบ

 

  1. ให้นำโค๊ดนี้ไปวางที่ไฟล์ใดไฟล์นึง เช่น วางไว้ที่ไฟล์ index.php
    <?php 
       echo phpinfo();
       exit; 
    ?>
  2. รันไฟล์ index.php ขึ้นมา เราจะเห็นได้ว่ามันแสดงรายละเอียดข้อมูลดังภาพด้านล่าง (ภาพด้านล่าง เป็นการจำลองจากโปรแกรม Xampp ตัวอย่างนี้ 172.0.0.1/ridshare.com/index.php)
    phpinfo-mod-rewrite - htaccess ลบนามสกุลไฟล์ php ด้วย mod rewrite
  3. ค้นหา คำว่า mod_rewrite ( โดยการกด ctrl + f แล้วพิมพ์ค้นหา mod_rewrite ) ถ้าเกิดเจอแสดงว่า server เรา ได้ติดตั้ง mod_rewrite เรียบร้อยแล้ว ตามรูปด้านล่าง
    search-mod-rewrite -htaccess ลบนามสกุลไฟล์ php ด้วย mod rewrite
  4. แต่ถ้าหากไม่เจอ แสดงว่า เรายังไม่ได้ ติดตั้ง mod_rewrite เราสามารถแจ้งไปที่ server หรือ host ที่เราเช่าบริการให้เขาติดตั้งให้หรือถ้าใช้โปรแกรมจำลอง ก็ให้เข้าไปที่โปรแกรมจำลอง แล้วกด config ที่ apache ( ตามรูปด้านล่าง จะใช้โปรแกรม Xampp ในการจำลอง)set-mod-rewrite-config - htaccess ลบนามสกุลไฟล์ php ด้วย mod rewrite

 

 

ขั้นตอนการสร้างไฟล์ .htaccess เพื่อลบไฟล์ php

  1. สร้างไฟล์ .htaccess ขึ้นมา อาจจะสร้างใน text editor ที่เราใช้งาน เช่น Atom, Sublime, PhpstormDreamweaver หรืออื่นๆ
  2. วางไว้ .htaccess ไว้ folder root เช่น www.ridshare.com/index.php เราก็จะวางไว้ไฟล์ .htaccess ไว้ในระดับเดียวกับ ไฟล์ index.php นั้นเอง จะได้ตามนี้ www.ridshare.com/.htaccess
  3. เปิดไฟล์ .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 ไฟล์ แล้ว ทดสอบได้เลยครับ จะได้ตามรูปด้านล่าง

result-removing-file-php - htaccess ลบนามสกุลไฟล์ php ด้วย mod rewrite

 

 

จะสังเกตได้ว่า 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/ 
  • เป็นต้น

 

ขอบคุณข้อมูลจาก เว็บ

thaicreate, stackoverflow

 

หวังว่าบทความนี้ จะเป็นประโยชน์แก่ผู้อื่น ไม่มากก็น้อยน่ะครับ เนื่องจากบทความนี้เกิดจากผมได้มีโอกาสได้เขียน file .htaccess ให้ลูกค้าท่านนึง ที่ติดต่อเข้ามา ผมก็ได้หาข้อมูล และเขียนให้ลูกค้าเป็นที่เรียบร้อย เลยอยากนำประสบการณ์มาแชร์ให้เพื่อนๆ ได้ทราบกัน และสามารถนำไปใช้งานกันได้

 

หากชอบใจ ถูกใจบทความ ก็สามารถ กดไลค์ กดแชร์ ให้เพื่อนๆ ได้อ่านกันบ้างน่ะครับ ฝากติดตามบทความต่อๆ ไปด้วยน่ะครับ ขอบคุณครับ

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *