Come+modificare+il+file+htaccess+di+WordPress
soswpit
/tutorial/htaccess-wordpress/amp/
Tutorial

Come modificare il file htaccess di WordPress

Published by
Andrea Di Rocco

La guida di oggi ti aiuta a capire cosa è il file htaccess WordPress come modificarlo e quando farlo.

Ma cominciamo con una definizione: “Htaccess” è l’abbreviazione di “hypertext access”.

Il file .htaccess di WordPress è un file di configurazione che puoi utilizzare per sovrascrivere le impostazioni del server e migliorare la sicurezza e la performance del tuo sito.

Anche se c’è un punto all’inizio del nome .htaccess, non si tratta di un’estensione, ma del nome vero e proprio del file.

Il punto all’inizio serve a nasconderlo in modo che non venga mostrato quando si guardano i file in una cartella, a meno che non sia stata abilitata l’opzione per mostrare i file nascosti.

Trattandosi di un file di configurazione, il file htaccess WordPress è un punto delicato e quindi devi sapere come modificarlo senza romperlo. Ma cominciamo dalle base e vediamo a cosa serve questo file.

A cosa serve il file .htaccess su WordPress?

Il file .htaccess di WordPress, caricato nella directory root del tuo sito, viene usato sui server che funzionano col il software Apache Web Server.

Questo programma rileva ed esegue automaticamente i file .htaccess caricati nelle directory del sito web. Puoi editare il file e, attraverso comandi specifici, abilitare o disabilitare delle funzionalità che ti permettono di proteggere il tuo sito da spam, hacker e altre minacce. Le funzionalità includono: 

  • redirect html di base (ad esempio in caso di errore 404),
  • blocco dell’accesso a file specifici,
  • impostazione di una password per proteggere il contenuto e
  • disattivazione dell’hotlinking.

Esegui sempre il backup prima di modificare il file .htaccess di WordPress

Ho sottolineato in diverse occasioni l’importanza di effettuare il backup del sito prima di andare a modificarne gli elementi fondamentali.

Nel caso del file .htaccess di WordPress, questa raccomandazione diventa particolarmente importante perché un singolo errore di sintassi può portare a rompere il codice dell’intero sito.

Conoscere il file htaccess WordPress come modificarlo e cosa non toccare è quindi molto importante ma, dato che l’errore può sempre capitare, un backup può toglierti da parecchie situazioni spinose.

E non pensare che il consiglio di un backup serva solo a chi non ha mai aperto un sito WordPress!

Anzi, proprio se sei esperto sai quanto è importante avere una copia del file .htaccess di WordPress sul tuo computer, in modo da poterlo ripristinare in caso di errore e risparmiare tempo prezioso. Per farlo su WordPress:

  1. accedi al cPanel,
  2. poi vai su Files e
  3. poi seleziona File Manager.
  4. Nel pop up delle Preferenze, metti la spunta sull’opzione per mostrare i file nascosti e poi conferma salvando. In questo modo, quando accederai alla cartella root del sito, potrai vedere il file.
  5. Cliccaci sopra, poi seleziona l’opzione per scaricarlo e salvalo sul tuo computer:
    • Se dovessi aver bisogno di sostituirlo in caso di errore, dovrai solo cliccare sul bottone Carica e mettere la spunta su quella per sovrascrivere i file esistenti.
    • Potrai a quel punto selezionare il file e aprire la tua copia locale per caricarla nella directory e tornare al File Manager.

Come creare un file .htaccess su WordPress

In molte configurazioni il file .htaccess WordPress si genera ma in base all’installazione scelta, il tuo sito WordPress potrebbe non avere un file .htaccess.

In questo caso devi crearlo prima di procedere alle modifiche. Puoi farlo direttamente tramite il cPanel. Usa un editor di testo, come Notepad++ o il Blocco Note di Windows, per creare un file chiamato htaccess.txt.

Inserisci il codice predefinito previsto per le versioni di WordPress successive alla 4.2. Il codice per installazioni singole è questo:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Se, invece, hai attivato Multisite su WordPress 3.5 o versioni successive, dovrai usare il codice qui sotto:

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]

Caricalo sul sito come ti ho spiegato sopra, cliccando sul pulsante Carica nel cPanel.

Una volta caricato, rinominalo .htaccess.

Come ti ho spiegato per il file robots.txt, anche in questo caso il nome è importante, altrimenti il server non riuscirà a riconoscerlo.

Per poter proteggere il file .htaccess di WordPress da eventuali attacchi, è importante impostare un livello di permesso 644 ovvero il permesso predefinito per i file su WordPress.

Come spiegato nella documentazione ufficiale:

  1. il primo numero si riferisce all’accesso concesso all’utente;
  2. il secondo al gruppo;
  3. il terzo al resto del mondo.

Il 6 rappresenta la facoltà di leggere e scrivere, mentre il 4 indica la sola lettura.

Mentre per alcuni file di configurazione, come wp-config.php, puoi impostare un permesso 600 (solo l’utente singolo può accedervi), l’impostazione consigliata ora per il file .htaccess è 644 perchè WordPress ha bisogno di accedervi in modo da poterlo aggiornare automaticamente. In precedenza la configurazione usata più spesso era 604 ma la configurazione 644 è molto più sicura.

File htaccess WordPress come modificarlo da solo?

Le righe che iniziano con il simbolo “#” costituiscono dei commenti e non sono incluse nelle regole.

Ricordati di copiare il codice che trovi qui sopra senza modificare nessuno degli elementi che si trovano tra i commenti “# BEGIN WordPress” e “# END WordPress”.

Per le installazioni multiple, vale lo stesso principio di non modificare nulla, però non ci sono i commenti di inizio e fine nel codice. Se anche volessi apportare delle modifiche, è molto probabile che WordPress le sovrascriverebbe.

Ti consiglio di aggiungere le tue modifiche, delimitate da commenti di inizio e fine sotto al codice predefinito di WordPress. In questo modo il file sarà ordinato e potrai facilmente individuare il codice che aggiungi per ciascuna regola aggiuntiva.

Prima abbiamo parlato del fatto che puoi scaricare il file .htaccess usando un editor di testi ma in realtà puoi fare tutto direttamente nel cPanel o modificarlo tramite FTP.

Se decidi di editare il file su cPanel, procedi così:

  1. Una volta effettuato l’accesso a cPanel, vai su File > File Manager e scegli di visualizzare i file nascosti, come abbiamo visto prima.
  2. Vai nella directory root del sito e clicca sul file .htaccess, poi seleziona Modifica.
  3. Effettua la prima modifica e poi clicca su Salva prima di uscire, altrimenti tutti i cambiamenti andranno perduti.

Indipendentemente dal metodo scelto, ricordati che devi ricaricare il sito dopo ciascuna modifica. In questo modo potrai vedere subito se tutto funziona e non dovrai andare per tentativi nello scovare cosa è andato storto:

  • Se dovessi riscontrare problemi, ripristina subito il file .htaccess originale e prova di nuovo. Ti ho consigliato di effettuare il backup del sito e di salvare una copia locale del file proprio per questa ragione.
  • Se, invece, il sito funziona correttamente, puoi procedere con la modifica successiva.

Vediamo adesso qualche esempio di regole che possiamo applicare tramite il file .htaccess.

1. Prevenire l’hotlinking delle immagini

Se gli utenti copiano l’URL di un’immagine del tuo sito e la usano per caricarla sul loro invece di farlo attraverso il loro server, utilizzano la tua banda, rallentando il tuo sito.

Puoi impedire a terzi di farlo aggiungendo questa regola al tuo file .htaccess.

Utilizza il codice qui sotto, sostituendo “your-site.com” con il dominio del tuo sito e https://www.your-site.com/hotlink.gif con l’URL dell’immagine da proteggere:

RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} 
!^https://(www.)?your-site.com/.*$ [NC] RewriteRule .(gif|jpg)$ 
https://www.your-site.com/hotlink.gif [R,L]

2. Impedire di scoprire il nome utente

Se un utente inserisce l’URL tuosito.com/?author=1, viene portato ella pagina dell’autore a cui è associato l’ID numerico. In questo modo, l’utente può reperire tutti i nomi utenti usati da chi ha pubblicato contenuti sul tuo sito.

Si tratta di un dettaglio che può essere utile agli hacker, a cui resterebbe solo da trovare la password.

Se l’utente ne ha scelta una robusta, il tuo sito resta protetto da minacce, ma se uno degli autori ne usa una facile da rintracciare, il pirata di turno ha meno ostacoli…

Per impedire l’enumerazione dei nomi utenti, puoi aggiungere questa regola:

 RewriteCond %{QUERY_STRING} author=\d
 RewriteRule ^ /? [L,R=301]

3. Restringere l’accesso alla sezione Admin

Se usi un IP statico, puoi limitare l’accesso alla bacheca admin usando questa regola:

ErrorDocument 401 /path-to-your-site/index.php?error=404
ErrorDocument 403 /path-to-your-site/index.php?error=404

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} ^(.*)?wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteCond %{REMOTE_ADDR} !^IP Address One$
RewriteCond %{REMOTE_ADDR} !^IP Address Two$
RewriteCond %{REMOTE_ADDR} !^IP Address Three$
RewriteRule ^(.*)$ - [R=403,L]
</IfModule>

Gli indirizzi IP non autorizzati verranno rimandati alla pagina di errore 404. Ricordati di sostituire:

  1. il percorso del sito con quello che usi,
  2. il dominio con quello del tuo sito e
  3. gli IP con i vari che vuoi abilitare.

Se gli utenti hanno degli indirizzi IP dinamici oppure vari utenti sullo stesso network devono accedere al sito, puoi usare questa regola:

ErrorDocument 401 /path-to-your-site/index.php?error=404
ErrorDocument 403 /path-to-your-site/index.php?error=404

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{HTTP_REFERER} !^https://(.*)?your-site.com [NC]
RewriteCond %{REQUEST_URI} ^(.*)?wp-login.php(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$
RewriteRule ^(.*)$ - [F]
</IfModule>

In questo modo bloccherai l’accesso alla bacheca admin, in modo che solo chi digita l’URL manualmente nel browser può accedervi.

Gli hacker possono sempre provare a indovinare manualmente le credenziali di accesso degli utenti, ma non potranno usare bot per farlo e questo riduce l’ammontare di tentativi di attacco.

4. Proteggere il sito da aggiunte di codice

Una delle cose che fanno i pirati informatici è cambiare le variabili di WordPress GLOBALS e _REQUEST al fine di aggiungere codice malevolo. Ne parliamo spesso.

Per impedire che queste modifiche vengano accettate dal tuo sito e proteggerti un po’ meglio, aggiungi questo codice:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

5. Proteggere i file importanti

Attraverso la regola qui sotto, puoi proteggere i log degli errori e i file wp-config.php e php.ini, impedendo l’accesso dall’esterno. Assicurati che il file php.ini del tuo sito si chiami proprio così, altrimenti cambia il nome in modo appropriato:

<FilesMatch "^.*(error_log|wp-config.php|php.ini|.[hH][tT][aApP].*)$">
Order deny,allow
Deny from all
</FilesMatch>

6. Escludere le directory dalla navigazione

WordPress ha una struttura di file predefinita come spiego nella guida sulla struttura tecnica di WordPress. Per questo i visitatori potrebbero visualizzare i tuoi file di configurazione e una lista delle tue directory digitando il dominio e il nome della directory (tuodominio.com/wp-content-uploads/).

Questo facilita l’operato dei malintenzionati, che non dovrebbero nemmeno indovinare dove i file che cercano sono stati collocati. Aggiungendo questa regola, puoi render più difficile la loro vita:

Options All -Indexes

7. Impedire l’accesso ai file PHP e la loro esecuzione

Anche i file PHP possono essere usati per aggiungere codice malevolo al tuo sito.

Per questo è importante proteggerli: blocca l’accesso degli utenti non autorizzati ai file PHP di tema e plugin utilizzando questo codice:

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*.php)$ - [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*.php)$ - [R=404,L]

Già che ci siamo, possiamo impedire anche l’esecuzione non autorizzata degli stessi file.

In questo modo, anche se gli hacker riuscissero a caricare il loro codice, questo non verrebbe eseguito da WordPress.

Impedisci l’esecuzione di file PHP caricati nel tuo sito con il codice qui di seguito:

<Directory "/var/www/wp-content/uploads/">
<Files "*.php">
Order Deny,Allow
Deny from All
</Files>
</Directory>

8. Proteggere la directory wp-includes

Qui si trovano molti file importanti per il tuo sito. Impedisci agli hacker di accedervi:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

In questa lista ti sarai subito accorto che conoscere il file .htaccess WordPress e sapere come modificarlo diventa uno strumento importante per creare un ulteriore strato di protezione.

File .htaccess WordPress come modificarlo usando Yoast SEO

Se hai attivato il plugin Yoast SEO sul tuo sito WordPress, puoi utilizzarlo per modificare il file .htaccess direttamente dalla Bacheca:

  1. Clicca sul menu SEO che vedi nella barra laterale di WordPress.
  2. Se l’opzione Strumenti non viene mostrata, clicca su SEO per visualizzare il menu.
  3. Poi clicca su Bacheca e, infine,
  4. apri la scheda Funzionalità e ti si aprirà una finestra come quella che vedi qui sotto.

Adesso che sei qui, segui questi passaggi:

  1. Abilita l’opzione Pagine delle impostazioni avanzate,
  2. poi conferma cliccando su Save changes.
  3. Adesso dovresti vedere molte più opzioni disponibili nel menu SEO.

Nell’immagine puoi vedere come nel menu delle opzioni ci siano molte più voci rispetto a prima. A questo punto per procedere:

  1. Clicca su Strumenti e ti si aprirà una pagina come quella che vedi qui sotto.
  2. Clicca sulla terza voce: Modifica file.

Modifica il file .htaccess e poi salva i cambiamenti.

Anche in questo caso valgono i consigli che ho scritto prima su backup del sito e salvataggio di una copia del file prima di apportare modifiche.

Conclusione

Come abbiamo visto in questa guida, il file .htaccess di WordPress è molto importante per proteggere il tuo sito da intrusioni e rallentamenti.

Si tratta solo di una delle cose che puoi fare per proteggere la sicurezza del tuo sito WordPress. Abbiamo già parlato:

Abbiamo inoltre visto come editare questo file e ti ho sottolineato l’importanza di fare un backup del sito e di salvare una copia locale prima di apportare delle modifiche.

Hai mai editato il file .htaccess di WordPress del tuo sito?

Quali modifiche hai apportato o pensi di effettuare in futuro?

Parliamone nei commenti!

Andrea Di Rocco

Dal 2012 ad oggi, guido il Team di SOS WP. Mi occupo di insegnare come creare qualsiasi sito web in WordPress e insieme al mio team di esperti forniamo assistenza siti web a 360°.

Recent Posts

Contenuti evergreen vs news: quando pubblicare cosa

Consigli pratici e strategie efficaci per bilanciare la pubblicazione di contenuti evergreen e news, ottimizzando…

10 ore ago

Perché lavorare da casa espone il tuo PC a più minacce di quanto pensi

Con la diffusione del lavoro da casa, i computer personali sono diventati più esposti a…

21 ore ago

Come l’AI sta riscrivendo i funnel più di quanto pensi

I funnel di marketing utilizzano l’intelligenza artificiale per offrire contenuti personalizzati, in base alle diverse…

1 giorno ago

Il 2025 è stato l’anno della lentezza digitale: cosa ha significato per i brand

Come il fenomeno della lentezza digitale ha spinto i brand a rivedere le proprie strategie,…

2 giorni ago

Il dramma dei programmi che partono da soli al login: ecco come disattivarli

Riconoscere perché alcune app partono da sole e sapere come intervenire sulle impostazioni di startup…

2 giorni ago

Come un malware entra in un sito WordPress e come evitarlo

Per aumentare la sicurezza della tua presenza online devi sapere anche come un malware entra…

3 giorni ago