.htaccess è un file ASCII che può essere creato e modificato facilmente, tramite un semplice un editor di testo.
WordPress utilizza questo file per manipolare il modo in cui Apache serve i file dalla sua directory principale e le sue sottodirectory.
Questo file permette di avere un maggiore controllo sul server nel quale è ospitato un sito WordPress, inoltre può essere utilizzato proteggere alcune cartelle tramite password, personalizzare le pagine di errore (404), fare un redirect o bannare alcuni IP.
Ma, in particolare, WordPress modifica questo file per gestire i permalink.
.htaccess di default
Spesso, per ottimizzare delle configurazioni di WordPress, capita di avere l’esigenza di modificare il file .htaccess.
Eseguendo questa operazione, però, si rischia di perdere alcune linee di codice creando problemi di visualizzazione del sito.
Per ripristinare il corretto funzionamento di un sito web fatto con WordPress va reimpostato il file .htaccess di default.
Per questo di seguito riporto il file .htaccess originale di WordPress, spero possa risultarti utile.
.htaccess WordPress
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
.htaccess WordPress multisito con sottocartelle
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
.htaccess WordPress multisito con sottodomini
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
Ciao, ho un piccolo problema con questo file.
Per prima cosa non c’è nella root principale.
Poi quando faccio il backup del sito l’antivirus trova parecchi file htaccess e me li indica come cavalli di troia.
Ora la prima domanda è questa: in un sito WordPress deve esistere per forza questo file? Se si qual’è quello buono?
Ciao Francesco, se trovi parecchi file .htaccess purtoppo vuol dire che il tuo sito è stato hackerato.
Ti consiglio di rivolgerti al tuo gestore di hosting per tentare di risolvere il problema.