index în Nginx

Blocuri de bază Toate versiunile Nginx

Stabilește ce fișier servește Nginx când cererea este pentru un director (o adresă care se termină în /), de exemplu index.html sau index.php.

Sintaxă
index fisier1 [fisier2 ...];

Ce face index

Când cineva cere https://exemplu.ro/blog/, Nginx caută în directorul respectiv fișierele din directiva index, în ordinea scrisă, și îl folosește pe primul care există. Valoarea implicită este index.html.

Fișierul găsit nu este trimis direct: Nginx face o redirecționare internă spre /blog/index.php, iar cererea este procesată din nou și poate ajunge în alt bloc location (de exemplu cel pentru PHP). Ultimul element poate fi o cale absolută, folosită dacă niciun fișier nu există.

Dacă niciun fișier index nu există și autoindex este oprit, Nginx răspunde cu 403 Forbidden.

Parametri

Parametru Descriere
Context http, server, location.
Implicit index index.html;
fisier1 fisier2 ... Numele fișierelor căutate, în ordine. Pot conține variabile.

Ce returnează

Nimic direct: cererea pentru director este redirecționată intern spre fișierul index găsit.

Exemple

Exemplul 1: Site PHP: index.php înaintea lui index.html

Cererea pentru / devine intern /index.php și ajunge în blocul pentru PHP.

server {
    listen 80;
    server_name exemplu.ro;
    root /var/www/exemplu.ro;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php8.5-fpm.sock;
    }
}

Exemplul 2: Director fără fișier index

Directorul poze/ nu are index.html, iar autoindex este oprit.

curl -I https://exemplu.ro/poze/
tail -n 1 /var/log/nginx/error.log

Ieșire în terminal

HTTP/2 403
server: nginx
content-type: text/html

2026/10/25 10:42:07 [error] 813#813: *1205 directory index of "/var/www/exemplu.ro/poze/" is forbidden, client: 86.120.14.7, server: exemplu.ro, request: "HEAD /poze/ HTTP/2.0", host: "exemplu.ro"

Greșeli frecvente

  • Pui index.php în index, dar nu ai un location pentru PHP: Nginx trimite codul sursă PHP ca fișier de descărcat.
  • Scrii index doar într-un location și te miri că nu se aplică în altul. Pune-o la nivel de server, ca să fie moștenită.

Comenzi înrudite

  • autoindex: Afișează automat lista fișierelor dintr-un director când acesta nu are fișier index, ca pagină HTML sau ca JSON.