mod_rewrite สามารถแก้ไขลักษณะของการจัดการคำขอโดยไม่ต้องแก้ไข URL เช่นการตั้งค่าตัวแปรสภาพแวดล้อมการตั้งค่าคุกกี้เป็นต้นซึ่งมีประโยชน์อย่างเหลือเชื่อ
ตั้งค่าตัวแปรสภาพแวดล้อมตามเงื่อนไข:
RewriteCond %{HTTP_COOKIE} myCookie=(a|b) [NC]
RewriteRule .* - [E=MY_ENV_VAR:%b]
ตอบกลับ 503:
RewriteRule
's [R]
ธงสามารถใช้ค่าที่ไม่ใช่ 3xx และกลับมีการตอบสนองที่ไม่เปลี่ยนเส้นทางเช่นสำหรับการจัดการการหยุดทำงาน / การบำรุงรักษา:
RewriteRule .* - [R=503,L]
จะส่งกลับการตอบสนอง 503 (ไม่ใช่การเปลี่ยนเส้นทางต่อ se)
นอกจากนี้ mod_rewrite ยังสามารถทำหน้าที่เหมือนอินเทอร์เฟซที่ขับเคลื่อนด้วยพลังพิเศษให้กับ mod_proxy ดังนั้นคุณสามารถทำสิ่งนี้แทนการเขียนProxyPass
คำสั่ง:
RewriteRule ^/(.*)$ balancer://cluster%{REQUEST_URI} [P,QSA,L]
ความคิดเห็น: การใช้RewriteRule
s และRewriteCond
s เพื่อกำหนดเส้นทางคำขอไปยังแอปพลิเคชันหรือตัวจัดสรรภาระงานที่แตกต่างกันโดยพิจารณาจากแง่มุมที่เป็นไปได้ของคำขอนั้นมีประสิทธิภาพอย่างมาก การควบคุมคำขอระหว่างทางไปยังแบ็กเอนด์และความสามารถในการปรับเปลี่ยนการตอบกลับระหว่างทางกลับทำให้ mod_rewrite เป็นสถานที่ที่เหมาะสำหรับการรวมศูนย์การกำหนดค่าที่เกี่ยวข้องกับการกำหนดเส้นทางทั้งหมด
ใช้เวลาเรียนรู้ให้คุ้ม! :)