Modificare htaccess WordPress. Grazie al file .htaccess si possono creare delle regole per il nostro webserver Apache, cioè lo spazio web dove risiede il nostro sito. Grazie a queste regole possiamo migliorare alcuni comportamenti del nostro sito web e velocizzare anche il tempo di caricamento. In questa guida scopriremo alcuni parametri fondamentali del file .htaccess e vi fornirò anche delle regole da inserire al vostro sito web.
Come posso Modificare htaccess WordPress?
Per modificare htaccess WordPress la strada più semplice (per utenti esperti) è quella di accedere tramite ftp al proprio spazio web e cercare nella cartella “public” il file .htaccess che si trova nella cartella principale (root principale).

Ecco come Modificare htaccess WordPress via ftp
Altrimenti possiamo installare un plugin per editare il file .htaccess, tra i plugin disponibili consiglio questi:
Redirezioni per User Agent
Questi sono le redirezioni standard da utilizzare per segnalare l’indirizzo del nostro sito web a utenti e Googlebot.
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.olddomain.com$ [OR] RewriteCond %{HTTP_HOST} ^olddomain.com$ RewriteCond %{HTTP_USER_AGENT} Googlebot [OR] RewriteCond %{HTTP_USER_AGENT} msnbot [OR] RewriteCond %{HTTP_USER_AGENT} Slurp RewriteRule ^(.*)$ http://bcd.com/$1 [L,R=301]
Impostare la homepage predefinita
Questo tipo di regola consente di esprimere la pagina predefinita del nostro sito web.
#Specificare una homepage predefinita (index page) DirectoryIndex home.html
Restringere l’accesso a specifici IP
Questa regola è utile per restringere l’accesso al sito solo a determinati ip, pensiamo a un sito web in via di sviluppo che può essere visibile solo a determinate connessioni a internet come quella di chi lo sta progettando e quella del cliente.
#Permettere l'accesso soltanto a specifici IP deny from all allow from 64.11.219.110 allow from 210.44.45.54
Redirezionare tutte le pagine
Questa regola consente di reindirizzare tutte le pagine verso un nuovo dominio.
#Reindirizzare tutte le pagine di vecchio-dominio.com verso newdomain.com Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vecchio-dominio.com$ [OR] RewriteCond %{HTTP_HOST} ^vecchio-dominio.com$ RewriteRule ^(.*)$ http://www.nuovo-dominio.com/$1 [R=301,L]
Impedire l’accesso alle cartelle
Molto spesso lo spazio web viene utilizzato anche per conservare file che vanno al di fuori del sito web, con questo comando bloccherete l’accesso a determinate cartelle.
#Prevenire il caricamento di sottocartelle. #Questo comando va inserito nel file .htaccess del dominio primario RewriteCond %{HTTP_HOST} ^primary.com$ [OR] RewriteCond %{HTTP_HOST} ^www.primary.com$ RewriteRule ^addon.com/?(.*)$ "http://www.addon.com/$1" [R=301,L]
Impedire l’accesso ai sotto-domini
Grazie a questa regola è possibile bloccare l’accesso a sotto-domini del nostro sito web.
#Prevenire il caricamento del sottodominio. #Questo comando va inserito nel file .htaccess del dominio primario RewriteCond %{HTTP_HOST} ^subname.primary.com$ [OR] RewriteCond %{HTTP_HOST} ^www.subname.primary.com$ RewriteRule ^(.*)$ "http://www.addon.com/$1" [R=301,L]
Forzare l’accesso su dominio non-www
Se vogliamo che nel nostro sito web non sia visibile “www” dobbiamo utilizzare questa regola.
#Non inserire mai www nel dominio. #Sostituisci 'example.com' con il tuo dominio RewriteEngine on RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?example.com)$ [NC] RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]
Forzare l’accesso su dominio con www
Al contrario della precedente regola, questa consente di esplicitare il “www” nel link del nostro sito.
#Inserisci sempre www nel dominio #Sostituisci 'example.com' con il tuo dominio RewriteEngine on RewriteCond %{HTTP_HOST} ^([a-z.]+)?example.com$ [NC] RewriteCond %{HTTP_HOST} !^www. [NC] RewriteRule .? http://www.%1example.com%{REQUEST_URI} [R=301,L]
Forzare l’accesso sotto HTTPS
Se il nostro sito web utilizza il protocollo sicuro HTTPS e se questo non funziona correttamente possiamo risolvere la situazione utilizzando questa regola.
#Usare sempre HTTPS per le connessioni sicure #Sostituisci 'www.example.com' con il tuo dominio così come appare sul certificato HTTPS RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
Bloccare il traffico da referrals specifici
Alcune volte notiamo un picco di visite sul nostro sito web, molte volte queste visite non sono da veri e propri utenti ma vengono generare da referrals esterni che molte volte risultano inutili, grazie a questa regola possiamo bloccare ogni singolo referal inserendolo in questa lista; basterà aggiungere il sito web con la relativa estensione.
#Bloccare il traffico proveniente da certi siti RewriteEngine on Options +FollowSymlinks RewriteCond %{HTTP_REFERER} badsite.com [NC,OR] RewriteCond %{HTTP_REFERER} badforum.com [NC,OR] RewriteCond %{HTTP_REFERER} badsearchengine.com [NC] RewriteRule .* - [F]
Negare l’accesso a certi tipi di file
Con questa semplice regola possiamo negare l’accesso a determinate estensioni di file.
#Non permettere il caricamento di specifici tipi di file RewriteEngine on RewriteRule .*.(jpg|jpeg|gif|png|bmp|exe|swf)$ - [F,NC]
Abilitare il Caching
Questa regola consente di abilitare il Caching per aumentare la velocità di caricamento del sito web.
# Add Caching. <FilesMatch ".(ico|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=3600" </FilesMatch>