มีหลายวิธีที่จะทำ ...
ง่ายที่สุดคือ
เขียนใหม่ ^/product/ /product.php;
ที่ เซิร์ฟเวอร์ บริบท. URI คำขอดั้งเดิมของคุณ (เช่น /product/1.html) จะสามารถใช้ได้สำหรับ product.php สคริปต์เป็น $_SERVER['REQUEST_URI'] ค่ารายการอาร์เรย์
คุณยังสามารถใช้ เขียนใหม่ สั่งได้ที่ ที่ตั้ง บริบทนี้อาจเล็กน้อย (มาก เล็กน้อย) มีประสิทธิภาพมากขึ้น:
สถานที่ /ผลิตภัณฑ์/ {
เขียนใหม่ ^ /product.php สุดท้าย;
}
หากต้องการ คุณสามารถรับรหัสผลิตภัณฑ์และส่งต่อไปยังของคุณ product.php สคริปต์เป็นอาร์กิวเมนต์แบบสอบถาม:
เขียนใหม่ ^/product/(.*)\.html$ /product.php?product=$1;
หรือ
สถานที่ /ผลิตภัณฑ์/ {
เขียนใหม่ ^/product/(.*)\.html$ /product.php?product=$1 สุดท้าย;
}
ด้วยวิธีนี้รหัสผลิตภัณฑ์ของคุณ (1 สำหรับ /product/1.html ยูริ 2 สำหรับ /product/2.html URI ฯลฯ) จะพร้อมใช้งานสำหรับ product.php สคริปต์เป็น $_GET['ผลิตภัณฑ์'] ค่ารายการอาร์เรย์
คุณยังสามารถกำหนดตัวจัดการ FastCGI แต่ละตัวสำหรับสิ่งนี้:
สถานที่ /ผลิตภัณฑ์/ {
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/product.php;
fastcgi_pass <fastcgi_upstream_or_socket>;
}
(URI คำขอดั้งเดิมจะพร้อมใช้งานผ่าน $_SERVER['REQUEST_URI']) หรือหากต้องการรหัสสินค้าสามารถแจ้งได้ทาง $_GET['ผลิตภัณฑ์']:
ตำแหน่ง ~ /product/(.*)\.html$ {
รวม fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/product.php;
fastcgi_param QUERY_STRING ผลิตภัณฑ์ = $1;
fastcgi_pass <fastcgi_upstream_or_socket>;
}