Devdit
 

PHP ซ่อน URL ซ่อนตัวแปร parameters ด้วย .htaccess

4.7K

PHP ซ่อน URL ซ่อนตัวแปร parameters ด้วย .htaccess บทความนี้สอนการใช้ไฟล์ .htaccess เพื่อซ่อน URL พร้อมตัวแปรต่างๆ ที่ส่งแนบมากับ URL หรือ parameters สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง PHP ซ่อน URL ซ่อนตัวแปร parameters ด้วย .htaccess

1. ปกติถ้าต้องการส่งตัวแปร id และ page ไปที่ไฟล์ index.php จะมี URL ประมาณนี้

http://localhost/test/index.php?id=1&page=product

บทความนี้จะสอนซ่อน URL และซ่อนตัวแปร parameters ให้เป็น URL ดังนี้

http://localhost/test/1/product

 

2. สร้างไฟล์ .htaccess พร้อมกับวางไฟล์ไว้ที่ root ของเว็บไซต์ และใส่โค้ดตามด้านล่าง

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?id=$1&page=$2 [QSA]

จากโค้ดด้านบนจะแนบ 2 ตัวแปรที่ไฟล์ index.php คือ id=$1 และ page=$2 โดย $1 และ $2 จะจับคู่กับรูปแบบข้อมูลด้านหน้าคือ ([a-zA-Z0-9_-]+) หมายความว่าสามารถเป็นข้อมูลที่ประกอบด้วยตัวอักษร a-z A-Z 0-9

 

3. สร้างไฟล์ index.php และเขียนโค้ดตามด้านล่าง

<a href="1/product">รายละเอียดสินค้า</a>
<?php
    isset( $_GET['id'] ) ? $id = $_GET['id'] : $id = "";
    isset( $_GET['page'] ) ? $page = $_GET['page'] : $page = "";
    if( !empty( $id ) && !empty( $page ) ) {
        echo "ตัวแปร id = {$id} / ตัวแปร page = {$page}";
    }
?>

 

4. เมื่อเว็บไซต์โหลดขึ้นมาแล้วให้ทดสอบโปรแกรม โดยการกดคลิกที่ลิงก์จะขึ้นผลลัพธ์ตามด้านล่าง พร้อมกับ URL ที่ถูกซ่อน จากตัวอย่างส่งตัวแปร id = 1 และ page = product

ตัวแปร id = 1 / ตัวแปร page = product
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ