WordPress e Nginx – Rewrite Rule

Se si utilizza WordPress con un server web Nginx, è possibile che si ricevano molti errori 404 a causa delle regole URL Rewrite sbagliata.

Risolvere questo tipo di problema e permettere a WordPress di funzionare correttamente con Nginx risulta essere piuttosto semplice, il sito rockia lo spiega in una breve guida.

Come prima cosa bisogna copiare il seguente codice all’interno di un file e salvarlo nella cartella di configurazione di Nginx con il nome wordpress.conf.

# if the requested file exists, return it immediately
if (-f $request_filename) {
break;
}

set $supercache_file ”;
set $supercache_uri $request_uri;

if ($request_method = POST) {
set $supercache_uri ”;
}

# Using pretty permalinks, so bypass the cache for any query string
if ($query_string) {
set $supercache_uri ”;
}

if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
set $supercache_uri ”;
}

# if we haven’t bypassed the cache, specify our supercache file
if ($supercache_uri ~ ^(.+)$) {
set $supercache_file /wp-content/cache/supercache/$http_host/$1index.html;
}

# only rewrite to the supercache file if it actually exists
if (-f $document_root$supercache_file) {
rewrite ^(.*)$ $supercache_file break;
}

# all other requests go to WordPress
if (!-e $request_filename) {
rewrite . /index.php last;
}

Una volta fatto questo è necessario modificare il file nginx.conf in modo da includere il file di configurazione creato in precedenza.

include wordpress.conf;

Al prossimo riavvio di Nginx, le regole per l’url rewrite di WordPress saranno caricate.