Score:0

Nginx กำหนดค่าการเขียนตำแหน่งใหม่สำหรับโฟลเดอร์ย่อยทั้งหมด

ธง cn

คำถามนี้ตามมาในหลายวิธีจากก ก่อนหน้านี้ ฉันเคยถาม - และจบลงด้วยการตอบตัวเอง บทสรุปโดยย่อของปัญหาที่ฉันอธิบายที่นั่นและวิธีแก้ปัญหาของฉัน

  • ฉันต้องดำเนินการตามค่าเริ่มต้นต่างๆ เมื่อมีการพยายามเข้าถึงไฟล์ในโฟลเดอร์ย่อย ขึ้นอยู่กับว่าใครพยายามเข้าถึง

อ่า

  1. เว็บแอป "back-office" ซึ่งในกรณีนี้ไฟล์จะถูกส่งหากมีอยู่หรือมีการสร้าง "stub" และสะท้อนกลับหากไม่มี
  2. ในการตอบสนองต่อคำขอจากแอปโทรศัพท์ OTH ฉันต้องการส่งไฟล์ หากมีอยู่ หรือส่ง HTTP 404 หากไม่มี

วิธีแก้ปัญหาที่ฉันทำมีดังนี้

  • สร้าง symlink ไปยังโฟลเดอร์ที่ต้องการ ln -s /path/to/folder /path/to/bo_folder ที่คำนำหน้า โบ_ บน symlink ย่อมาจาก back-office
  • เมื่อดึงไฟล์จากแอป ให้พยายามเข้าถึงไฟล์โดยตรงเป็น /path/to/folder/file.name.extn ซึ่งในกรณีนี้ Nginx จะจัดการกับการส่ง 404 หรือไฟล์กลับตามที่เห็นสมควร
  • เมื่อดึงไฟล์เพื่อแก้ไขในชุด backoffice ให้เข้าถึงไฟล์เหล่านั้นเป็น /path/to/bo_folder/file.name.extn

บล็อกการกำหนดค่า Nginx ต่อไปนี้

ตำแหน่ง /path/to/bo_folder
{
 add_header Access-Control-Allow-Origin *;
 เขียนใหม่ ^(.*)$ /path/to/folder/index.php?$1 สุดท้าย;
}

ปัญหาที่ฉันกำลังพยายามค้นหาวิธีแก้ปัญหาที่สง่างามกว่านี้คือปัญหานี้ - ฉันไม่ได้มีเพียงโฟลเดอร์ดังกล่าวเพียงโฟลเดอร์เดียว แต่มีลำดับทั้งหมด /path/to/folder_1, /path/to/folder_2... /path/to/folder_n

พอใส่ได้ค่ะ ที่ตั้ง การบล็อกสำหรับแต่ละโฟลเดอร์นั้นเป็นไปได้ มันน่าเบื่อและเกิดข้อผิดพลาดได้ง่าย เกือบจะมีวิธีในการเขียนซ้ำโดยทั่วๆ ไปในระดับหนึ่งโฟลเดอร์ขึ้นไป เช่น ใน /เส้นทาง/ถึง มากกว่าสำหรับแต่ละโฟลเดอร์ย่อย

มีความซับซ้อนเล็กน้อยที่นี่ - ฉันไม่สามารถจัดการสิ่งนี้ได้โดยเขียนใหม่เป็น /path/to/index.php โฟลเดอร์เนื่องจากเนื้อหาต้นขั้วที่ฉันต้องส่งกลับนั้นค่อนข้างแตกต่างกันขึ้นอยู่กับโฟลเดอร์ย่อยที่ควรจะเป็นเนื้อหานั้น

ความรู้ที่ค่อนข้างคลุมเครือของฉันเกี่ยวกับการกำหนดค่า Nginx ทำให้ฉันผิดหวังที่นี่ วิธีนี้สามารถทำได้?

djdomi avatar
za flag
ทำไมไม่ใช้แค่โดเมนย่อย
cn flag
คุณช่วยอธิบายเพิ่มเติมได้ไหม ฉันไม่แน่ใจว่าฉันเข้าใจสิ่งที่คุณหมายถึง
djdomi avatar
za flag
คำถามของฉันคือ ต้องเป็นเส้นทางเฉพาะหรือสามารถแทนที่ด้วยโดเมนย่อยได้หรือไม่
cn flag
อ่า ใช่ ฉันเข้าใจแล้วว่าคุณหมายถึงอะไร โดเมนย่อยก็ทำได้เช่นกัน เช่น backoffice.example.com. ฉันจะต้องได้รับใบรับรอง Let's Ecrypt ใหม่สำหรับมัน แต่ก็ไม่เป็นไร อย่างไรก็ตาม ยังไม่ชัดเจนสำหรับฉันว่าฉันควรเขียนบล็อกการกำหนดค่า nginx อย่างไร ดังนั้นการพยายามรับไฟล์จาก `backoffice.example.com/folder/subfolder` จึงเปลี่ยนเส้นทางไปที่ `backoffice.example.com/folder/subfolder /index.php` **ไม่มี** เขียนบล็อกการกำหนดค่าแยกต่างหากสำหรับแต่ละโฟลเดอร์
djdomi avatar
za flag
โปรดอัปเดตคำถามของคุณ ยังไม่เจาะจง - อาจมีตัวอย่างที่แน่นอน - และเตือนว่าอย่าเขียนข้อมูลดังกล่าวที่นี่ อัปเดตคำถามโดยแก้ไข

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา