การทำงานของ X-Accel-Redirect ของ Nginx มีการพัฒนาขึ้นมาในแบบของตัวเอง การทำงานก็จะเหมือน X-Sendfile คือเมื่อมีการส่ง header นี้มาจาก application จะทำการส่งข้อมูลจากไฟล์แทนที่เนื้อหาที่ถูกส่งมาและนำส่งไปยัง client แทน
ก่อนอื่นในส่วนของ server เราต้องสร้าง path ของเราก่อน
location /files {
internal;
root /var/www;
}โดยเมื่อทำการส่งไฟล์จะส่งข้อมูลจากไฟล์ที่อยู่ใน /var/www/files/
หรือเราสามารถใช้งาน alias directive ก็ได้เช่น
location /files {
internal;
alias /var/www;
}หมายถึงเมื่อมีการส่งข้อมูลจากไฟล์ที่อยู่ใน /var/www
ส่วนการสั่งงานให้ส่งไฟล์นั้นในส่วน application ของเราก็เพียงส่ง header แจ้งมาเท่านั้นเช่น
<?php
@header('Content-Type: application/octet-stream; charset=utf-8');
@header('Content-Disposition: attachment; filename="aliasname.bin"');
@header('X-Accel-Redirect: /files/file1.bin');
?>
เมื่อเราส่ง header X-Accel-Redirect ตาม path ที่ได้สร้างไว้จะทำการส่งไฟล์จาก /var/www/file1.bin ไปยัง client
คำเตือน เนื้อหาต่างๆ ในบทความ รวมถึงรูปภาพทั้งหมดในบทความนี้ เป็นความเห็นส่วนตัวของผู้เขียนแต่ละคน ซึ่งแต่ละคนได้ทำการลงทะเบียน และเขียนบทความลงใน Modoeye Articles นี้โดยไม่มีค่าธรรมเนียมใดๆ บทความเหล่านี้เป้าหมายเพื่อการศึกษา และความบันเทิงเท่านั้น การนำส่วนหนึ่งส่วนใดของบทความไปใช้งาน ควรทำการอ้างอิงถึงผู้เขียนและแหล่งที่มาด้วย