Ik probeer het Nginx-configuratiebestand te begrijpen. Hier is mijn app-directorystructuur:

/app
|-- abcd.html
|-- file.php
|-- index.html
|-- index.php
|-- sss
|   `-- index.html
|-- style.css
`-- thumb.png

Hier is mijn test nginx-configuratie:

events {}
http {
        rewrite_log on;
        error_log /var/log/nginx/localhost.error_log debug;
        server {
                include mime.types;
                root /app;
                listen 8080;
                index index.html;
                location / {
                        try_files $uri/  =404;
                }
        }
}

Vanuit mijn begrip van het Nginx-configuratiebestand, wanneer ik vraag om localhost:8080/, volgens de documentatie van try_files, zou het moeten controleren op bestand /, en omdat het een map is, zou het indexbestand erin moeten dienen. Maar eigenlijk doet het dat niet. heb ik ook geprobeerd try_files $uri =404;. Het retourneert ook een 404-pagina. Maar als ik het probeer try_files $uri $uri/ =404, werkt het en reageert het met een indexbestand. Kan iemand alsjeblieft uitleggen wat er aan de hand is?

Ik heb ook iets anders geprobeerd dat niet werkte zoals verwacht. Zoals eerder, in de locatiecontext, probeerde ik try_files /sss /sss/ =404. Ik verwachtte dat het me het indexbestand in de sssmap zou dienen, ongeacht wat mijn gevraagde url is. Maar het komt vast te zitten in een oneindige lus van verzoeken. Het reageert met een 301-omleiding en verzoeken om /sss/url. is het niet zoals het vorige geval, toen ik gebruikte try_files $uri $uri/ =404?

no answer