คำตอบ:
เพื่อให้เข้าใจว่าเราเตอร์ทำอะไรคุณต้องเข้าใจว่าเอ็นจิ้นเขียนใหม่คืออะไร จากบทความวิกิพีเดีย (เหมืองที่เน้น):
เอ็นจินการเขียนซ้ำเป็นซอฟต์แวร์ที่ปรับเปลี่ยนลักษณะที่ปรากฏของเว็บ URL (การเขียน URL ใหม่) URL ที่เขียนซ้ำ (บางครั้งเรียกว่า URL ที่สั้นแฟนซีหรือเป็นมิตรกับเครื่องมือค้นหา - SEF) ใช้เพื่อจัดทำลิงค์ที่สั้นกว่าและมีความเกี่ยวข้องกับหน้าเว็บ เทคนิคการเพิ่มระดับของการแยกระหว่างไฟล์ที่ใช้ในการสร้างหน้าเว็บและ URL ที่นำเสนอให้กับโลก
เมื่อใช้เอ็นจินการเขียนซ้ำคุณจะไม่มีความสัมพันธ์ 1: 1 ระหว่าง URL และสคริปต์ PHP ตัวอย่างจากบทความเดียวกัน:
http://example.com/wiki/index.php?title=Page_title
สามารถเขียนใหม่เป็น:
มีประโยชน์ต่าง ๆในการใช้เทคนิค ตั้งแต่ PHP มักจะคู่แน่นกับ Apache ที่ใช้กันมากที่สุดเขียนเครื่องยนต์mod_rewrite ของ Apache
หากคุณต้องการ URL ที่เขียนขึ้นใหม่คุณต้องมีการกำหนดเส้นทางบางอย่างเนื่องจากการกำหนดเส้นทางเป็นกระบวนการของการรับ URL แบ่งเป็นส่วนต่างๆและตัดสินใจว่าจะเรียกสคริปต์จริง ๆ ว่าอะไร หน้าเอกสารสำหรับเราเตอร์มาตรฐานของ Zend Framework อธิบายกระบวนการเป็น:
การกำหนดเส้นทางเป็นกระบวนการรับปลายทาง URI (ส่วนหนึ่งของ URI ซึ่งมาหลังจาก URL พื้นฐาน) และแยกย่อยเป็นพารามิเตอร์เพื่อพิจารณาว่าโมดูลตัวควบคุมและการกระทำใดของตัวควบคุมนั้นควรได้รับการร้องขอ
ทุกวันนี้เฟรมเวิร์ค PHP ส่วนใหญ่อยู่บนพื้นฐานของรูปแบบ MVCและเฟรมเวิร์กของ MVC กระบวนการดังกล่าวมีลักษณะดังนี้* :
index.php
สคริปต์index.php
รับ URL และเริ่มกระบวนการกำหนดเส้นทางการจับคู่พารามิเตอร์กับตัวควบคุมและวิธีการมักใช้การจับคู่ผ่านนิพจน์ทั่วไปเพื่อให้สามารถจัดการกับรูปแบบการกำหนดเส้นทางที่ซับซ้อนและไดนามิกซึ่งเรียกว่าเส้นทาง ตัวอย่างเส้นทางที่ดีสามารถพบได้ในหน้าเอกสารการจัดเส้นทาง URI ของ CodeIgniter :
$ route ['journals'] = "บล็อก";
$ route ['blog / joe'] = "บล็อก / ผู้ใช้ / 34";
$ route ['product / (: any)'] = "แค็ตตาล็อก / product_lookup";
$ route ['product / (: num)'] = "แค็ตตาล็อก / product_lookup_by_id / $ 1";
$route
อาร์เรย์ถือรูปแบบเป็นกุญแจและการกระทำที่เกิดขึ้นเป็นค่าในcontroller/action_method/dynamic_parameter
รูปแบบ
*นี่ไม่ได้มีไว้สำหรับอธิบายรายละเอียดของกระบวนการบัญญัติ แต่เป็นคำอธิบายที่เกินความจริง