ตามที่ อย. ระบุไว้ เอกสาร, พารามิเตอร์สุดท้ายของ try_files คำสั่งสามารถ
- URI ใหม่
- รหัสข้อผิดพลาด HTTP:
= รหัส;
- ชื่อตำแหน่ง ID:
@location_name.
คุณกำลังใช้ /ว่าง.png ซึ่งถือว่าเป็น URI ใหม่ที่ ไม่ตก ภายใต้ ตำแหน่ง / แคช { ... } จึงถูกเสิร์ฟโดย ที่ตั้ง / { ... }. เมื่อคุณนำเครื่องหมายทับออก คุณจะได้รับ URI ใหม่ ว่าง.png นั่น ไม่อยู่ภายใต้สถานที่ใด ๆ ของคุณรวมถึง ที่ตั้ง / { ... }. ทั้งหมด เซิร์ฟเวอร์ บล็อกมีเส้นทางรูทเริ่มต้น คำนำหน้า/html โดยระบุคำนำหน้าที่เป็น เวลารวบรวม และสามารถตรวจสอบได้กับ nginx -V คำสั่ง (ดูเหมือนว่าของคุณคือ /usr/). ดังที่ได้กล่าวไว้โดย ราก คำสั่ง เอกสาร,
เส้นทางไปยังไฟล์ถูกสร้างขึ้นโดยการเพิ่ม URI ให้กับค่าของ ราก คำสั่ง
ซึ่งให้คำนำหน้าเรา /usr/ + รูทเริ่มต้น /html + ยูริ ว่าง.png = /usr//htmlempty.png.
เมื่อคุณเปลี่ยนครั้งสุดท้าย try_files พารามิเตอร์ไปที่ /cache/empty.png, URI นี้ให้บริการเหมือนกัน ตำแหน่ง / แคช { ... } บล็อกด้วยไฟล์ /path/to/old_cache_data + /cache/empty.png = /path/to/old_cache_data/cache/empty.png. และหากคุณเข้าใจข้อมูลทั้งหมดข้างต้นอย่างถูกต้อง คุณควรสังเกตว่าด้วยการกำหนดค่าของคุณ คุณจะไม่สามารถเข้าถึงไฟล์ใดๆ ในไฟล์ /path/to/old_cache_data โฟลเดอร์ยกเว้นที่อยู่ใน /path/to/old_cache_data/cache โฟลเดอร์ย่อย ตรวจสอบความแตกต่างระหว่าง ราก และ นามแฝง คำแนะนำเพื่อความเข้าใจที่ดีขึ้น