Încerc să înțeleg cum funcționează Nginx. Acum lucrez la index
și try_files
directive. Fișierul meu de configurare este acesta:
evenimente {}
http {
rewrite_log on;
error_log /var/log/nginx/localhost.error_log depanare;
Server {
root /app;
asculta 8080;
index index.html;
Locație / {
try_files $uri $uri/ =404;
}
}
}
De asemenea /app/
directorul arborescent este:
/app
|-- abcd.html
|-- fisier.php
|-- index.html
|-- index.php
|-- sss
| `-- index.html
|-- style.css
`-- thumb.png
Când încerc să deschid localhost:8080
totul funcționează conform așteptărilor. Se folosește mai întâi Locație /
context. Apoi foloseste $uri/
pentru a citi directorul rădăcină. Apoi, deoarece numele fișierului index a fost specificat, folosește fișierul index în acel director. De asemenea, fișierul jurnal poate arăta că:
...
2021/10/27 11:37:49 [depanare] 1297#1297: *1 locație de testare: „/”
2021/10/27 11:37:49 [depanare] 1297#1297: *1 folosind configurația „/”
...
2021/10/27 11:37:49 [depanare] 1297#1297: *1 fază generică: 12
2021/10/27 11:37:49 [depanare] 1297#1297: *1 încercați gestionarea fișierelor
2021/10/27 11:37:49 [depanare] 1297#1297: *1 var script http: "/"
2021/10/27 11:37:49 [depanare] 1297#1297: *1 încercând să utilizeze fișierul: "/" "/app/"
2021/10/27 11:37:49 [depanare] 1297#1297: *1 var script http: "/"
2021/10/27 11:37:49 [depanare] 1297#1297: *1 încearcă să folosească dir: "/" "/app/"
2021/10/27 11:37:49 [depanare] 1297#1297: *1 încercați fișierul uri: "/"
2021/10/27 11:37:49 [depanare] 1297#1297: *1 fază generică: 13
2021/10/27 11:37:49 [depanare] 1297#1297: *1 fază de conținut: 14
2021/10/27 11:37:49 [depanare] 1297#1297: *1 index deschis „/app/index.html”
2021/10/27 11:37:49 [depanare] 1297#1297: *1 redirecționare internă: „/index.html?”
...
Dar când deschid localhost:8080/sss
, Mai întâi răspunde cu o redirecționare către localhost:8080/sss/
, apoi deschide fișierul index în interiorul sss/
director. Iată jurnalele:
2021/10/27 11:46:07 [depanare] 1297#1297: *3 locație de testare: „/”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 folosind configurația „/”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http cl:-1 max:1048576
27/10/2021 11:46:07 [depanare] 1297#1297: *3 faza de rescriere: 3
2021/10/27 11:46:07 [depanare] 1297#1297: *3 faza post-rescriere: 4
2021/10/27 11:46:07 [depanare] 1297#1297: *3 faza generică: 5
...
2021/10/27 11:46:07 [depanare] 1297#1297: *3 încercați gestionarea fișierelor
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http script var: "/sss"
2021/10/27 11:46:07 [depanare] 1297#1297: *3 încercând să utilizeze fișierul: „/sss” „/app/sss”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http script var: "/sss"
2021/10/27 11:46:07 [depanare] 1297#1297: *3 încercând să utilizeze dir: „/sss” „/app/sss”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 încercați fișierul uri: „/sss”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 fază generică: 13
27/10/2021 11:46:07 [depanare] 1297#1297: *3 fază de conținut: 14
...
2021/10/27 11:46:07 [depanare] 1297#1297: *3 fază de conținut: 18
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http nume de fișier: „/app/sss”
2021/10/27 11:46:07 [depanare] 1297#1297: *3 adăugați curățare: 000055AA4A146290
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http fd static: -1
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http dir
2021/10/27 11:46:07 [depanare] 1297#1297: *3 Solicitare de finalizare http: 301, "/sss?" a:1, c:1
2021/10/27 11:46:07 [depanare] 1297#1297: *3 răspuns special http: 301, "/sss?"
2021/10/27 11:46:07 [depanare] 1297#1297: *3 http set pentru eliminarea corpului
...
De ce nu a răspuns cu fișierul index din interiorul sss/
director, la fel ca directorul rădăcină, fără redirecționare externă?