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).


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>






