Compatibilità Apache/.htaccess
Il pannello serve i siti con nginx: veloce, con il certificato, la cache delle pagine e le protezioni. nginx non legge i file .htaccess: per WordPress, Joomla, Drupal, PrestaShop e le applicazioni di Installa app il pannello scrive già le regole equivalenti. Se un sito ha regole sue nel .htaccess (redirect, riscritture degli indirizzi, cartelle protette da password, pagine di errore), attiva la Compatibilità Apache/.htaccess.
Come funziona
- nginx resta davanti: certificato HTTPS, file statici (immagini, CSS, JavaScript) e cache delle pagine di WordPress.
- PHP e gli indirizzi che non corrispondono a un file vanno ad Apache, in ascolto solo sull'indirizzo interno del server (127.0.0.1): legge i
.htaccess(AllowOverride All) e fa girare PHP con lo stesso pool PHP-FPM del sito, quindi con l'utente del sito, i suoi limiti e le impostazioni PHP della pagina del sito. - L'indirizzo del visitatore e l'HTTPS arrivano ad Apache da nginx: PHP vede l'IP vero del visitatore (non falsificabile con un'intestazione) e
HTTPS=onquando il sito è in HTTPS. - La cache delle pagine di WordPress continua a funzionare, con le stesse regole (mai per chi ha fatto l'accesso, carrelli, pagamenti, amministrazione).
Attivarla
Nella pagina del sito, riquadro Server web, attiva Compatibilità Apache/.htaccess. La prima volta un amministratore installa Apache (un minuto circa, mpm_event con mod_proxy_fcgi, mod_rewrite, mod_remoteip); dopo, anche gli account la attivano sui propri siti. Spegnendola il sito torna servito solo da nginx.
Nella migrazione da cPanel o da un altro server il pannello controlla i .htaccess: se trova regole proprie (oltre al blocco standard di WordPress) propone di attivare la compatibilità per quei siti, e la attiva durante l'importazione.
Da sapere
- I file che esistono li serve nginx: una regola
.htaccessche blocca un file statico non vale. Per proteggere dei file tienili fuori dalla cartella pubblica o usa una cartella protetta da password di Apache per le pagine PHP. - Con la protezione dei link simbolici del modulo Isolamento e limiti i
.htaccessnon possono riattivareOptions +FollowSymLinks(una riga così dà errore 500: toglila). - I log di Apache del sito sono accanto a quelli di nginx:
/var/log/nginx/<dominio>.apache-access.loge.apache-error.log.