fb-pixel
Supporthost Sconto

Domini e hosting a sconto

Abbiamo diverse promozioni attive per i nostri piani hosting e domini, controlla la pagina dedicata!

Cos’è e come si usa il file htaccess

Il file .htaccess è un file nascosto che puoi utilizzare per modificare la configurazione dei web server Apache.

Si tratta di un file di testo con delle regole che ci permettono di impostare redirect, assicurarci che il sito sia raggiungibile via https e aumentare la sicurezza del nostro sito.

In questa guida vedremo come trovare il file .htaccess o crearlo manualmente quando necessario. Poi vedremo come modificarlo e quali sono le configurazioni più importanti.

Iniziamo!

Cos’è il file .htaccess?

Il file .htaccess è un file di configurazione che ci permette di modificare informazioni o aggiungere opzioni.

Uno degli usi più comuni del file htaccess è quello di impostare i reindirizzamenti per alcuni URL. Ci sono, però, molti altri utilizzi come avremo modo di scoprire in questa guida.

Nella pratica l’htaccess è un semplice file di testo, ma la sua vera potenzialità è che ci permette di modificare la configurazione dei web server Apache.

Devi sapere, infatti, che ogni web server come Apache ha un suo file di configurazione. E, come avrai già capito, ogni file di configurazione ha le sue regole.

Htaccess
Esempio di file .htaccess

In questa guida vedremo come sfruttare al massimo questo file.

Iniziamo dalla base: dove trovo il file htaccess?

Dove si trova il file .htaccess

Per poter modificare il file htaccess, dobbiamo prima sapere come trovarlo.

Per prima cosa scegli come accedere ai file del tuo sito.

Puoi usare il gestore dei file che viene integrato nel pannello di controllo hosting, come per esempio quello di cPanel.

Oppure puoi collegarti via SFTP al server con un client come FileZilla.

In questo esempio vedremo la soluzione più rapida: usare il gestore dei file.

Ecco come fare.

  1. Effettua l’accesso a cPanel.
Login Cpanel

2. Clicca su “Gestione file“.

Gestione File Cpanel Jupiter

3. Apri la cartella “public_html“.

Nota che il file htaccess è sempre nella root, ma questa cartella può avere nomi diversi in base all’hosting. Altri nomi comuni sono: htdocs e www.

All’interno di questa cartella troverai il file .htaccess.

Ricorda che le regole inserite nel file htaccess hanno effetto su tutte le sottocartelle. Per questo motivo se vuoi usare le regole solo su una specifica sottocartella, potrai inserire il file htaccess all’interno di questa.

E se non vedi il file?

Vediamo come risolvere.

Come mostrare i file nascosti

I file come “.htaccess” sono file nascosti. Nei sistemi operativi Unix/Linux si utilizza un punto davanti al nome del file per nasconderlo.

Se non riesci a visualizzarlo, devi controllare che sia attiva l’opzione per visualizzare i file nascosti.

Vediamo come fare da:

  • file manager di cPanel;
  • FileZilla;
  • Cyberduck;
  • WinSCP.

Dal file manager di cPanel devi cliccare su Impostazioni, poi controllare che ci sia la spunta alla voce Mostra file nascosti (dotfiles) e infine cliccare su “Save“.

Mostra File Nascosti File Manager

Da FileZilla clicca sul menu Server e spunta l’opzione Visualizza file nascosti.

Visualizzare File Nascosti Con Filezilla

Dopodiché conferma che vuoi attivare l’opzione tramite la finestra che compare.

Da Cyberduck clicca sul menu Visualizza e poi spunta l’opzione Visualizza file nascosti.

Cyberduck Visualizza File Nascosti

Da WinSCP clicca sulla voce in basso a destra “X nascosti” per attivare la visualizzazione di questi file.

Visualizzare File Nascosti Winscp

Ora che abbiamo visto come trovare il file .htaccess, è il momento di passare a come modificarlo.

Il file htaccess di default di WordPress

Prima di procedere, se non riesci a trovare il file htaccess anche dopo aver attivato le opzioni per mostrare i file nascosti, è possibile che il file non sia stato creato.

In questo caso ci sono due alterative:

  • far sì che WordPress generi un file htaccess;
  • creare manualmente il file htaccess.

Vediamo come fare.

Generare il file htaccess con WordPress

Adesso ti mostro il metodo più rapido per creare un file htaccess con le informazioni di default.

Ti basta accedere a WordPress, cliccare su Impostazioni > Permalink.

Impostazioni Permalink

E poi cliccare su “Salva le modifiche”.

In questo modo WordPress genererà in automatico il file htaccess.

Nota che se ci dovessero essere errori, vedrai comparire un avviso, in quel caso dovrai creare il file manualmente.

Creare il file htaccess manualmente

Creare il file htaccess per WordPress manualmente è altrettanto semplice.

Ci basta accedere ai file del sito, per esempio dal file manager e aprire la cartella in cui vogliamo creare il file. Nella maggior parte dei casi la cartella sarà “public_html”, come abbiamo visto prima.

A questo punto ci basta cliccare su “+File“.

Creare Nuovo File File Manager Cpanel

Quindi dobbiamo inserire il nome del file: .htaccess e cliccare su “Create new file“.

Creare File Htaccess Cpanel

Dopo averlo creato, clicchiamo con il tasto destro sul file e clicchiamo su Edit.

Modificare File Htaccess File Manager

Nel file vuoto incolliamo questo codice:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Come modificare il file htaccess

Ora che abbiamo visto come trovare il file htaccess, passiamo alla modifica vera e propria.

Trattandosi di un file di testo possiamo modificare il file htaccess in maniera molto semplice.

Prima di modificare il file, però, è bene creare una copia di backup in modo da poter ripristinare il file htaccess precedente nel caso in cui ci siano errori.

Abbiamo diverse possibilità:

  • possiamo modificare il file htaccess direttamente dal client FTP o dal file manager;
  • possiamo usare un plugin che ci permette di modificare il file direttamente da WordPress.

Tieni presente che ci sono plugin come Yoast SEO e Rank Math che hanno già la funzione di modificare il file htaccess. Se usi già uno di questi plugin, non devi quindi installare un plugin separato per modificare il file htaccess.

Per modificare il file htaccess con il file manager ci basta cliccare con il tasto destro sul file e poi cliccare su “Edit“, proprio come abbiamo visto prima.

Modificare File Htaccess File Manager

Adesso vediamo come fare con un plugin, prendendo come esempio Rank Math.

Modificare il file htaccess con Rank Math

Rank Math include anche un editor che ci permette di modificare il file htaccess direttamente dall’area amministrativa di WordPress.

Clicchiamo su Rank Math SEO > Impostazioni generali.

Rank Math Impostazioni Generali

Nella lista delle impostazioni vedremo “Modifica .htaccess“.

Da qui possiamo modificare il file e salvarlo cliccando su “Salva le modifiche“. In ogni momento possiamo anche riportare il file alle impostazioni di default cliccando su “Reimposta le opzioni“.

Rank Math Modifica Htaccess

Casi d’uso del file htaccess

Possiamo usare il file htaccess per diversi scopi, per esempio:

  • impostare i redirect;
  • proteggere una cartella con password;
  • mostrare pagine di errore personalizzate;
  • disattivare l’esecuzione di file php;
  • disattivare XML-RPC;
  • impedire l’hotlinking delle immagini;
  • disattivare il directory listing;
  • bloccare l’accesso ai file di configurazione.

Tieni presente che tutti gli esempi di codice che riportiamo contengono la prima riga “RewriteEngine On”. Questo ti serve per capire dove inserire il codice, ma dopo averla inserita una volta, non è necessario ripetere questa riga all’interno del file.

Redirect da http a https

Modificare il file htaccess è uno dei passaggi da fare quando si vuole passare da http ad https.

Aggiungendo questo codice al file .htaccess possiamo impostare un redirect 301 dalla versione http alla versione https.

Il codice da inserire è questo:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*)$ https://www.dominio.it/$1 [L,R=301]

Dovrai sostituire “www.dominio.it” con il tuo dominio.

In questo modo ci assicuriamo che i visitatori (e i motori di ricerca) siano rimandati alla versione sicura del sito.

Redirect da non www a www

Per far sì che chi visita “dominio.com” sia rimandato a “www.dominio.com”, possiamo usare un redirect 301.

Ci basta inserire nel file htaccess queste righe:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^sito.com [NC]
RewriteRule ^(.*)$ http://www.sito.com/$1 [R=301,L]

Basta sostituire “sito.com” e “www.sito.com” con il dominio corretto.

Redirect da www a non www

Se vuoi che chi visita “www.dominio.com” sia rimandato alla versione senza www “dominio.com”, puoi usare questo codice.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sito.com [NC]
RewriteRule ^(.*)$ http://sito.com/$1 [R=301,L]

Redirect per cambio di dominio

Se cambiamo dominio, dobbiamo assicurarci di impostare un redirect. In questo modo tutti coloro che cercano di raggiungere il vecchio indirizzo saranno rimandati al nuovo.

Ecco il codice da usare:

RewriteEngine On
 RewriteCond %{HTTP_HOST} ^vecchiodominio.com$ [OR]
 RewriteCond %{HTTP_HOST} ^www.vecchiodominio.com$
 RewriteRule (.*)$ https://www.nuovodominio.com/$1 [R=301,L]

Inserisci il dominio che avevi in precedenza al posto di “vecchiodominio.com” e il nuovo dominio al posto di “nuovodominio.com”.

Redirect di una singola pagina

Per reindirizzare con un redirect 301 una pagina verso un nuovo indirizzo puoi usare questo codice:

Redirect 301 /vecchia-pagina https://www.miosito.it/nuova-pagina

Facciamo un esempio. Per reindirizzare “supporthost.com/reindirizzamenti/” verso “supporthost.com/redirect/”, dovremmo inserire questo codice:

Redirect 301 /reindirizzamenti https://supporthost.com/redirect/

Proteggere con password una cartella

Possiamo impostare una combinazione di username e password per proteggere l’accesso a una cartella.

Oltre a poterlo fare direttamente da cPanel come abbiamo visto nel tutorial sulla privacy directory, possiamo anche farlo direttamente con un file htpasswd e modificando il file htaccess.

Questa operazione richiede un passaggio prima di poter inserire il codice nel file htaccess. La prima cosa da fare, infatti, è creare un file htpasswd all’interno del quale inserire una stringa di username e password criptati.

Il file htpasswd è un file che contiene il nome dell’utente e la password cifrata, in questo modo:

user:encrypted_password

Possiamo generare la password cifrata con uno strumento come questo.

Dobbiamo inserire username, password e il percorso in cui inseriremo il file htpasswd.

Strumento Generazione Htpasswd

Dobbiamo quindi creare un file .htpasswd e incollare al suo interno la riga composta da username e password, come in questo esempio:

utente:czOHsdLewzkk6

E poi inserire nel file htaccess questa riga:

AuthType Basic 
AuthName 'Area Riservata' 
AuthUserFile /home/utente/privata/.htpasswd 
Require valid-user

Dobbiamo sostituire “/home/utente/privata/” con il percorso della posizione del nostro file .htpasswd.

A questo punto quando cercheremo di visitare quella cartella, ci verrà richiesto di inserire username e password come in questo esempio.

Htaccess Password Inserire Credenziali

Impostare pagine di errore personalizzate

Possiamo creare delle pagine di errore da mostrare ai visitatori del nostro sito quando ad esempio un indirizzo non è stato trovato o quando non è possibile accedere a una determinata risorsa.

Nota: è possibile creare pagine di errore personalizzate direttamente da cPanel. In questo caso però vedremo come farle manualmente.

La prima cosa da fare è creare la pagina di errore, per esempio creando un file html e poi caricarla sul server.

Dopodiché possiamo modificare il file htaccess.

Apriamo il file htaccess e inseriamo questo codice:

ErrorDocument 403 /errors/403.html

Dobbiamo sostituire “/errors/403.html” con il percorso della pagina di errore.

In questo modo invece della pagina di errore predefinita, verrà mostrata la pagina personalizzata che abbiamo creato.

Disattivare l’esecuzione di file php su WordPress

Il file htaccess ci permette anche di modificare la configurazione del sito in modo da migliorare la sicurezza.

Una cosa che possiamo fare è limitare l’esecuzione dei file php in modo che non possa avvenire in determinate cartelle.

Per esempio potremmo disattivare l’esecuzione dei file PHP nella cartella “uploads” di WordPress.

In questo caso ci basta creare un file .htaccess da inserire in “wp-content/uploads/” con le seguenti righe di codice:

<Files *.php>
deny from all
</Files>

Possiamo ripetere la stessa procedura per tutte le cartelle in cui non è necessario eseguire file php.

Disattivare XML-RPC

Il file XML-RPC è un file php che permette di accedere a WordPress in remoto.

Visto che oggi ci sono sistemi più sicuri grazie all’integrazione delle REST API, è consigliabile disattivare questo file per ridurre i rischi per la sicurezza.

Su SupportHost su tutti i piani tra cui l’hosting WordPress, blocchiamo di default questo file, rendendolo accessibile solo a Jetpack (un plugin che lo richiede per il suo funzionamento).

Se sul tuo servizio di hosting non è bloccato, puoi farlo aggiungendo al file .htaccess questo codice:

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Disattivare l’hotlinking

Se non vuoi che altri siti possano inserire sul loro sito immagini che in realtà sono ospitate sul tuo server. L’hotlinking, infatti, fa sì che vengano utilizzate le risorse del tuo server e può causare rallentamenti e consumi di risorse eccessivi.

Inserendo questo codice nel file htaccess possiamo disattivare l’hotlinking.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?dominio.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ [NC,R,L]

Dovrai sostituire “dominio.com” con il tuo dominio.

Disattivare il directory listing

Possiamo impedire che gli utenti vedano il contenuto delle cartelle, come struttura delle cartelle e nomi dei file, bloccando la funzione di directory listing.

Per farlo ci basta inserire nel file htaccess questa riga:

Options -Indexes

Bloccare l’accesso a wp-config.php e .htaccess

Visto che wp-config.php (per i siti WordPress) e il file htaccess sono file di configurazione importanti, può essere utile bloccare gli accessi non autorizzati a questi file.

Per bloccare l’accesso a wp-config.php aggiungiamo nell’htaccess questo codice:

<Files wp-config.php>
order allow,deny deny from all
</Files>

Mentre per bloccare l’accesso al file .htaccess, usiamo questo:

<!-- <Files .htaccess>
order allow,deny deny from all
</Files> -->

Conclusioni

Come abbiamo visto il file htaccess è una manna dal cielo per configurare Apache. Ci permette di impostare reindirizzamenti di singole risorse o dell’intero sito, bloccare gli accessi non autorizzati al file, proteggere l’accesso ad alcune risorse con password e altro ancora.

Con questa guida ora hai le basi per trovare facilmente il file htaccess e inserire le regole che ti servono.

Ora tocca a te: hai mai usato il file htaccess prima d’ora? Facci sapere per cosa ti è stato utile, scrivendocelo in un commento!


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *