Nginx non ha .htaccess. Non è disattivato e non si può attivare: leggere un file in ogni directory a ogni richiesta è esattamente il costo che Nginx esiste per evitare. Le regole stanno nella configurazione del server e vengono lette una volta all'avvio.
Un sito arrivato da Apache si porta dietro il suo .htaccess, e il file viene semplicemente ignorato. Niente dà errore. Le regole smettono soltanto di accadere: ecco come un redirect, un divieto o una riscrittura spariscono in silenzio durante una migrazione.
Reindirizzare a https
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
Da www a senza www
server {
listen 443 ssl;
server_name www.yourdomain.com;
return 301 https://yourdomain.com$request_uri;
}
I permalink belli di WordPress
location / {
try_files $uri $uri/ /index.php?$args;
}
Negare una directory
location ^~ /private/ {
deny all;
}
Protezione con password
location /staging/ {
auth_basic "Staging";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Intestazioni di cache sui file statici
location ~* \.(jpg|jpeg|png|webp|gif|ico|css|js|woff2)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
Provi prima di ricaricare, ogni volta:
nginx -t. Indica file e riga di ciò che non gli piace, e un reload con una configurazione sbagliata lascia in funzione la vecchia invece di rompere il sito.
