อ่าน 3 นาที
เอ็นจิ้นเขียนใหม่
ใน แอปพลิเคชันเว็บ เอ็น จิ้นการเขียน URL ใหม่ (Rewrite Engine) คือส่วนประกอบซอฟต์แวร์ที่ทำการ เขียน URL ใหม่(Uniform Resource Locators) เพื่อปรับเปลี่ยนลักษณะที่ปรากฏ...
เอ็นจิ้นเขียนใหม่
ในแอปพลิเคชันเว็บเอ็นจิ้นการเขียน URL ใหม่ (Rewrite Engine)คือส่วนประกอบซอฟต์แวร์ที่ทำการเขียนURLใหม่(Uniform Resource Locators) เพื่อปรับเปลี่ยนลักษณะที่ปรากฏ การปรับเปลี่ยนนี้เรียกว่าการเขียน URL ใหม่ (URL rewriting ) ซึ่งเป็นวิธีการหนึ่งในการใช้งานการแมป URLหรือการกำหนดเส้นทางภายในแอปพลิเคชันเว็บโดยทั่วไปแล้ว เอ็นจิ้นนี้จะเป็นส่วนประกอบของเว็บเซิร์ฟเวอร์หรือ เฟรม เวิร์กแอปพลิเคชันเว็บ URL ที่เขียนใหม่ (บางครั้งเรียกว่าURL สั้น URL สวยๆหรือ URL ที่ดูดี URL ที่เป็นมิตรกับเครื่องมือค้นหา ( SEF URLs) หรือสลัก (slugs ) ใช้เพื่อให้ลิงก์ไปยังหน้าเว็บสั้นลงและดูมีความเกี่ยวข้องมากขึ้น เทคนิคนี้เพิ่มเลเยอร์ของนามธรรมระหว่างไฟล์ที่ใช้สร้างหน้าเว็บและ URL ที่แสดงต่อโลกภายนอก
การใช้งาน
เว็บไซต์ที่มีเนื้อหาแบบไดนามิกสามารถใช้ URL ที่สร้างหน้าเว็บจากเซิร์ฟเวอร์โดยใช้ พารามิเตอร์ สตริงคำค้นหาซึ่งมักจะถูกเขียนใหม่ให้คล้ายกับ URL สำหรับหน้าเว็บแบบคงที่ในเว็บไซต์ที่มีลำดับชั้นของไดเร็กทอรีย่อยตัวอย่างเช่น URL ของ หน้า วิกิที่มีชื่อว่าRewrite_engineอาจเป็น:
http://example.com/w/index.php?title=Rewrite_engine
แต่สามารถเขียนใหม่ได้ดังนี้:
http://example.com/wiki/Rewrite_engine
บล็อกอาจมี URL ที่เข้ารหัสวันที่ของแต่ละบทความ :
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19
สามารถแก้ไขได้ดังนี้:
http://www.example.com/Blog/2006/12/19/
ซึ่งยังช่วยให้ผู้ใช้สามารถเปลี่ยน URL เพื่อดูโพสต์ทั้งหมดที่มีอยู่ในเดือนธันวาคมได้ โดยเพียงแค่ลบข้อความที่เข้ารหัสวันที่ '19' ออกไป เหมือนกับการเลื่อนขึ้นไปในสารบัญ:
http://www.example.com/Blog/2006/12/
เว็บไซต์สามารถส่งคำศัพท์เฉพาะจาก URL ไปยังเครื่องมือค้นหาเพื่อใช้เป็นคำค้นหาได้ ซึ่งจะช่วยให้ผู้ใช้สามารถค้นหาได้โดยตรงจากเบราว์เซอร์ ตัวอย่างเช่น URL ที่ป้อนลงในแถบที่อยู่ ของเบราว์เซอร์ :
http://example.com/search term
เบราว์เซอร์ จะเข้ารหัส URLก่อนที่จะส่งคำขอ HTTPเซิร์ฟเวอร์สามารถเขียนใหม่ได้ดังนี้:
http://example.com/search.php?q=search%20term
ข้อดีและข้อเสีย
การใช้การเขียน URL ใหม่มีประโยชน์หลายประการ: [ 1 ]
- ลิงก์ต่างๆ นั้น "สะอาดตา" และให้รายละเอียดมากขึ้น ทำให้ "เป็นมิตร" มากขึ้นทั้งต่อผู้ใช้และเครื่องมือค้นหา
- ฟังก์ชันนี้ช่วยป้องกัน " การเชื่อมโยงแบบอินไลน์ " ที่ไม่พึงประสงค์ ซึ่งอาจทำให้สิ้นเปลืองแบนด์วิดท์
- เว็บไซต์ยังคงสามารถใช้ URL เดิมได้แม้ว่าเทคโนโลยีพื้นฐานที่ใช้ในการให้บริการจะเปลี่ยนแปลงไป (ตัวอย่างเช่น การเปลี่ยนไปใช้ระบบบล็อก ใหม่ )
อย่างไรก็ตาม อาจมีข้อเสียเช่นกัน หากผู้ใช้ต้องการแก้ไข URL เพื่อดึงข้อมูลใหม่การเขียน URL ใหม่ อาจขัดขวางการสร้างคำค้นหาแบบกำหนดเองเนื่องจากขาดตัวแปรที่มีชื่อ ตัวอย่างเช่น อาจเป็นเรื่องยากที่จะระบุวันที่จากรูปแบบต่อไปนี้:
http://www.example.com/Blog/06/04/02/
ในกรณีนี้ สตริงคำค้นหาเดิมมีประโยชน์มากกว่า เนื่องจากตัวแปรในคำค้นหาระบุเดือนและวัน:
http://www.example.com/Blog/Posts.php?Year=06&Month=04&Day=02
เฟรมเวิร์กเว็บ
เฟรมเวิร์กเว็บหลายตัวมีฟังก์ชันการเขียน URL ใหม่ ไม่ว่าจะโดยตรงหรือผ่านโมดูลเสริม
- Apache HTTP Serverมีการเขียน URL ใหม่โดยใช้โมดูล mod_rewrite [ 2 ]
- URL Rewrite มีให้บริการเป็นส่วนขยายสำหรับMicrosoft IIS [ 3 ]
- Ruby on Railsมีฟังก์ชันการเขียน URL ใหม่ในตัวผ่านทาง Routes [ 4 ]
- Jakarta Servletมีความสามารถในการขยายการเขียน URL ใหม่ผ่านทาง OCPsoft URLRewriteFilter และ Tuckey UrlRewriteFilter
- Jakarta Facesได้ทำให้การเขียน URL ใหม่ง่ายขึ้นด้วย PrettyFaces: URLRewriteFilter
- Djangoใช้ ระบบที่อิงตาม นิพจน์ปกตินี่ไม่ใช่การเขียน URL ใหม่โดยแท้จริง เนื่องจากไม่มีสคริปต์ที่จะ 'เขียนใหม่' หรือแม้แต่โครงสร้างไดเร็กทอรี แต่ให้ความยืดหยุ่นในการเขียน URL ใหม่ได้อย่างเต็มที่[ 5 ]
- Java Stripes Frameworkมีฟังก์ชันการทำงานแบบบูรณาการตั้งแต่เวอร์ชัน 1.5 [ 6 ]
- เฟรมเวิร์ก Perl จำนวนมาก เช่นMojoliciousและCatalystมีคุณสมบัตินี้[ 7 ]
- CodeIgniterมีฟังก์ชันการเขียน URL ใหม่ให้ใช้งานได้
- lighttpdมีโมดูล mod_rewrite [ 8 ]
- nginxมีโมดูลการเขียนใหม่[ 9 ] [ 10 ]ตัวอย่างเช่น การสร้างหน้าเว็บที่มีหลายลิงก์และหลายตัวแปรจากURIเช่น/f101,n61,o56,d/ifconfigสามารถทำได้ โดยที่ส่วนต่างๆ เช่นf101จะถูกขยายด้วยความช่วยเหลือของนิพจน์ปกติเป็นตัวแปรเพื่อแสดงถึงFreeBSD 10.1-RELEASEและอื่นๆ
- เซิร์ฟเวอร์ HTTP ของ Hiawathaมี URL Toolkit ที่รองรับการเขียน URL ใหม่[ 11 ]
- เซิร์ฟเวอร์ HTTP ของ Cherokeeรองรับการเขียน URL ใหม่และการเปลี่ยนเส้นทางโดยใช้ regular expression
จาก มุมมอง การพัฒนาซอฟต์แวร์การเขียน URL ใหม่สามารถช่วยในการแบ่งส่วนโค้ดและการควบคุมการไหลของโค้ด[ 12 ] ทำให้เป็นคุณสมบัติที่มีประโยชน์ของเฟรมเวิร์กเว็บสมัยใหม่
ดูเพิ่มเติม
- ผู้ควบคุมการส่งมอบแอปพลิเคชัน
- aiScaler Traffic Manager
- .htaccess
- เซิร์ฟเวอร์ Apache HTTP
- การเจรจาเนื้อหา
- ทศนิยม
- เซิร์ฟเวอร์ข้อมูลอินเทอร์เน็ต
- ลิงก์ถาวร
- เว็บเซิร์ฟเวอร์ Zeus
หมายเหตุ
- ^ข้อควรปฏิบัติเหล่านี้ส่วนใหญ่ใช้ได้กับเซิร์ฟเวอร์ HTTP เท่านั้น ซึ่งโดยค่าเริ่มต้นแล้วเซิร์ฟเวอร์ HTTP จะแปลง URL ไปเป็นเอนทิตีในระบบไฟล์ (เช่น ไฟล์และไดเร็กทอรี) ในบางสภาพแวดล้อม เช่น แพลตฟอร์ม เซิร์ฟเวอร์แอปพลิเคชัน HTTP หลายๆ แพลตฟอร์ม ข้อควรปฏิบัติเหล่านี้จึงไม่เกี่ยวข้อง
- ^เอกสารประกอบ mod_rewrite
- ^ส่วนขยายการเขียน URL ใหม่สำหรับ Microsoft IIS
- ^ "การกำหนดเส้นทางของ Rails จากภายนอกสู่ภายใน" . "Ruby on Rails . สืบค้นเมื่อ25 เมษายน 2014 .
- ^การกำหนดค่า URL ของ Django
- ^การลบ URL ที่ไม่ต้องการใน Stripe 1.5
- ^คู่มือ - คู่มือการท่องเที่ยวกาแล็กซีจาก Mojolicious Mojolicious. สืบค้นเมื่อ 2013-09-08.
- ^เอกสาร ModRewrite - Lighttpd - lighty labs . Redmine.lighttpd.net. สืบค้นเมื่อ 2013-09-08.
- ^ "ngx_http_rewrite_module - rewrite" . nginx.org . สืบค้นเมื่อ25 ธันวาคม 2014 .
- ^ Murenin, Constantine A. (18 กุมภาพันธ์ 2013). "เว็บไซต์แบบไดนามิกที่เขียนขึ้นทั้งหมดด้วย nginx.conf? ขอแนะนำ mdoc.su!" . [email protected] (รายชื่อผู้รับจดหมาย) . สืบค้นเมื่อ24 ธันวาคม 2014 .
- ^ "URL TOOLKIT เป็นส่วนหนึ่งของคู่มือเว็บเซิร์ฟเวอร์ Hiawatha"เก็บถาวรจากต้นฉบับเมื่อ 2016-03-22 เรียกดูเมื่อ2012-01-25
- ^ "Clean URL" . DocForge. เก็บถาวรจากต้นฉบับเมื่อวันที่ 20 ตุลาคม 2552 . เรียกดูเมื่อวันที่ 25 เมษายน 2557 .
ลิงก์ภายนอก
- Apache mod_rewrite
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เอ็นจิ้นเขียนใหม่
ใน แอปพลิเคชันเว็บ เอ็น จิ้นการเขียน URL ใหม่ (Rewrite Engine) คือส่วนประกอบซอฟต์แวร์ที่ทำการ เขียน URL ใหม่(Uniform Resource Locators) เพื่อปรับเปลี่ยนลักษณะที่ปรากฏ...
การใช้งาน
เว็บไซต์ที่มี เนื้อหาแบบไดนามิก สามารถใช้ URL ที่สร้างหน้าเว็บจากเซิร์ฟเวอร์โดยใช้ พารามิเตอร์ สตริงคำค้นหา ซึ่งมักจะถูกเขียนใหม่ให้คล้ายกับ URL สำหรับ หน้าเว็บแบบคงที่ ในเว็บไซต์ที่มี ลำดับชั้นของไดเร็กทอรีย่อย ตัวอย่างเช่น URL ของ หน้า วิกิ ที่มีชื่อว่า...
ข้อดีและข้อเสีย
การใช้การเขียน URL ใหม่มีประโยชน์หลายประการ: [ 1 ]
เฟรมเวิร์กเว็บ
เฟรมเวิร์กเว็บหลายตัวมีฟังก์ชันการเขียน URL ใหม่ ไม่ว่าจะโดยตรงหรือผ่านโมดูลเสริม