ฉันพยายามทำความเข้าใจว่า Nginx ทำงานอย่างไร ตอนนี้ฉันกำลังดำเนินการ ดัชนี
และ try_files
คำสั่ง ไฟล์ปรับแต่งของฉันคือ:
เหตุการณ์ {}
http {
rewrite_log บน;
error_log /var/log/nginx/localhost.error_log ดีบัก;
เซิร์ฟเวอร์ {
รูท / แอพ;
ฟัง 8080;
ดัชนี index.html;
ที่ตั้ง / {
try_files $uri $uri/ =404;
}
}
}
อีกด้วย /แอป/
ไดเรกทอรีต้นไม้คือ:
/แอป
|-- abcd.html
|--file.php
|--index.html
|--index.php
|--สสส
| `--index.html
|--style.css
`--thumb.png
เมื่อลองเปิดดู localhost:8080
ทุกอย่างทำงานได้ตามที่คาดไว้ ใช้ครั้งแรก ที่ตั้ง /
บริบท. จากนั้นใช้ $uri/
เพื่ออ่านไดเรกทอรีราก เนื่องจากมีการระบุชื่อไฟล์ดัชนี จึงใช้ไฟล์ดัชนีในไดเร็กทอรีนั้น นอกจากนี้ ล็อกไฟล์สามารถแสดงว่า:
...
2021/10/27 11:37:49 [แก้ไขจุดบกพร่อง] 1297#1297: *1 ตำแหน่งทดสอบ: "/"
27/10/2021 11:37:49 [แก้ไขข้อบกพร่อง] 1297#1297: *1 โดยใช้การกำหนดค่า "/"
...
27/10/2021 11:37:49 [แก้ปัญหา] 1297#1297: *1 เฟสทั่วไป: 12
27/10/2021 11:37:49 [debug] 1297#1297: *1 ลองตัวจัดการไฟล์
27/10/2021 11:37:49 [แก้ไขจุดบกพร่อง] 1297#1297: *1 http สคริปต์ var: "/"
27/10/2021 11:37:49 [debug] 1297#1297: *1 พยายามใช้ไฟล์: "/" "/app/"
27/10/2021 11:37:49 [แก้ไขจุดบกพร่อง] 1297#1297: *1 http สคริปต์ var: "/"
27/10/2021 11:37:49 [debug] 1297#1297: *1 พยายามใช้ dir: "/" "/app/"
27/10/2021 11:37:49 [debug] 1297#1297: *1 ลองไฟล์ uri: "/"
27/10/2021 11:37:49 [แก้ปัญหา] 1297#1297: *1 เฟสทั่วไป: 13
2021/10/27 11:37:49 [debug] 1297#1297: *1 ช่วงเนื้อหา: 14
27/10/2021 11:37:49 [แก้ไขข้อบกพร่อง] 1297#1297: *1 เปิดดัชนี "/app/index.html"
2021/10/27 11:37:49 [แก้ไขข้อบกพร่อง] 1297#1297: *1 การเปลี่ยนเส้นทางภายใน: "/index.html?"
...
แต่เมื่อฉันเปิด localhost:8080/sss
, อันดับแรกจะตอบกลับด้วยการเปลี่ยนเส้นทางไปที่ localhost:8080/sss/
จากนั้นเปิดไฟล์ดัชนีภายในไฟล์ สส/
ไดเรกทอรี นี่คือบันทึก:
27/10/2021 11:46:07 [แก้ไขจุดบกพร่อง] 1297#1297: *3 ตำแหน่งทดสอบ: "/"
2021/10/27 11:46:07 [แก้ไขข้อบกพร่อง] 1297#1297: *3 โดยใช้การกำหนดค่า "/"
2021/10/27 11:46:07 [แก้ไขข้อบกพร่อง] 1297#1297: *3 http cl:-1 สูงสุด:1048576
2021/10/27 11:46:07 [debug] 1297#1297: *3 รีไรท์เฟส: 3
2021/10/27 11:46:07 [debug] 1297#1297: *3 เฟสรีไรท์โพสต์: 4
2021/10/27 11:46:07 [แก้ไขข้อบกพร่อง] 1297#1297: *3 เฟสทั่วไป: 5
...
2021/10/27 11:46:07 [debug] 1297#1297: *3 ลองตัวจัดการไฟล์
27/10/2021 11:46:07 [debug] 1297#1297: *3 http สคริปต์ var: "/sss"
27/10/2021 11:46:07 [debug] 1297#1297: *3 พยายามใช้ไฟล์: "/sss" "/app/sss"
27/10/2021 11:46:07 [debug] 1297#1297: *3 http สคริปต์ var: "/sss"
27/10/2021 11:46:07 [debug] 1297#1297: *3 พยายามใช้ dir: "/sss" "/app/sss"
2021/10/27 11:46:07 [debug] 1297#1297: *3 ลองไฟล์ uri: "/sss"
27/10/2021 11:46:07 [แก้ปัญหา] 1297#1297: *3 เฟสทั่วไป: 13
2021/10/27 11:46:07 [debug] 1297#1297: *3 ช่วงเนื้อหา: 14
...
2021/10/27 11:46:07 [debug] 1297#1297: *3 ช่วงเนื้อหา: 18
27/10/2021 11:46:07 [แก้ไขข้อบกพร่อง] 1297#1297: *3 ชื่อไฟล์ http: "/app/sss"
27/10/2021 11:46:07 [แก้ไขข้อบกพร่อง] 1297#1297: *3 เพิ่มการล้างข้อมูล: 000055AA4A146290
2021/10/27 11:46:07 [แก้ไขจุดบกพร่อง] 1297#1297: *3 http fd แบบคงที่: -1
2021/10/27 11:46:07 [แก้ไขจุดบกพร่อง] 1297#1297: *3 http dir
2021/10/27 11:46:07 [debug] 1297#1297: *3 http จบคำขอ: 301, "/sss?" ก:1, ค:1
27/10/2021 11:46:07 [debug] 1297#1297: *3 http การตอบกลับพิเศษ: 301, "/sss?"
27/2021/10 11:46:07 [debug] 1297#1297: *3 http set ทิ้งเนื้อหา
...
เหตุใดจึงไม่ตอบสนองด้วยไฟล์ดัชนีภายในไฟล์ สส/
ไดเร็กทอรี เช่นเดียวกับไดเร็กทอรีรูทโดยไม่มีการเปลี่ยนเส้นทางภายนอก