.htaccess: che cos’è, a cosa serve, come usarlo

Provaci
Mettici alla prova
Analizza il tuo sito
Seleziona la lingua del database:

È l’abbreviazione di hypertext access e il nome riflette la funzione originaria del file, ovvero permettere il controllo di accesso per directory in un contesto di contenuti ipertestuali, come le pagine web. Parliamo di .htaccess, uno strumento che forse è poco conosciuto dai non addetti ai lavori, ma che può fare la differenza nella gestione e ottimizzazione di un sito web. Tra le sue funzioni, infatti, c’è quella di gestire e manipolare il comportamento del server senza dover accedere ai file di configurazione globali, un potere che si può sfruttare anche per impostare i redirect. Andiamo subito alla scoperta di che cos’è il file .htaccess, a cosa serve, quali sono le sue applicazioni pratiche e il suo potenziale impatto sulla SEO.

Che cos’è il file .htaccess

Il file .htaccess è un file di configurazione supportato da diversi server web, che consente di specificare regole e impostazioni a livello di directory.

Queste configurazioni possono riguardare la gestione dei redirect di URL, l’accorciamento degli URL, il controllo degli accessi per diverse pagine web e file, la personalizzazione delle pagine di errore e altre regolazioni cruciali per la gestione del sito web.

Addio errori SEO!

SEOZoom è il tuo alleato strategico per gestire il sito e la strategia SEO senza incappare in errori che potrebbero costarti caro.
Academy
Webinar
Tools
Registrazione

Pertanto, attraverso il file .htaccess possiamo definire una serie di regole e impostazioni che possono influenzare il comportamento del server e, di conseguenza, il modo in cui il sito web viene visualizzato dagli utenti e dai motori di ricerca.

Nativo dei server web Apache, il concetto di .htaccess si è esteso nel tempo ad altri server web come LiteSpeed, Nginx e Microsoft IIS che, pur utilizzindo file di configurazione diversa, offrono funzioni simili per facilitare la gestione e l’ottimizzazione dei siti web.

Significato di .htaccess: perché si chiama così

Il termine .htaccess ha un significato ben specifico.

Tecnicamente, si tratta di una crasi con abbreviazione di Hypertext Access: “hypertext” si riferisce ai contenuti web che utilizzano collegamenti ipertestuali, come le pagine HTML, mentre “access” indica che il file viene utilizzato per gestire e controllare l’accesso a questi contenuti.

Il file .htaccess prende quindi il nome dal suo scopo originale di gestire l’accesso ai contenuti ipertestuali e continua ad essere uno strumento fondamentale per la configurazione granulare di siti web ospitati su vari server, Apache in primis. Nel nome completo è compreso anche il punto (.), che rende questo file nascosto negli ambienti basati su Unix, una pratica comune per file di configurazione che non devono essere modificati frequentemente.

Le caratteristiche del file htaccess

Il file .htaccess e presenta una serie di caratteristiche che lo rendono un elemento cruciale nella gestione di siti web: la sua natura micro-configurativa è estremamente, perché permette agli amministratori di implementare cambiamenti rapidi senza la necessità di alterare i file di configurazione principali del server.

Innanzitutto, è bene chiarire che un sito può avere più di un file .htaccess, che possono essere posizionati in qualsiasi directory e sottodirectory all’interno della root del server – motivo per cui sono anche chiamati file di configurazione distribuiti. Questo permette di applicare configurazioni specifiche a singole sezioni del sito, lasciando inalterate le configurazioni globali o quelle di altre directory, a meno che non siano presenti ulteriori file .htaccess che sovrascrivano quelle direttive.

Più precisamente, i file .htaccess agiscono come un sottoinsieme del file di configurazione globale del server (come httpd.conf) per la directory in cui si trovano o per tutte le sottodirectory. Questa capacità di operare a livello di singola directory e di non modificare le configurazioni a livello globale del server è particolarmente utile in ambienti di hosting condiviso, dove gli utenti non hanno accesso ai file di configurazione globale del server.

Inserendo il file .htaccess in una determinata directory, possiamo specificare regole e impostazioni che si applicano solo a quella directory e alle sue sottodirectory. Tra le principali tipologie di configurazioni che il file .htaccess può modificare citiamo la gestione dei reindirizzamenti di URL, sia permanenti (301) che temporanee (302), o anche il controllo degli accessi, che consente di proteggere specifiche directory tramite autenticazione password o blocco di indirizzi IP sospetti.

Il file .htaccess permette anche la personalizzazione delle pagine di errore, come la creazione di pagine 404 personalizzate che possono contribuire a migliorare l’esperienza utente. Inoltre, il file viene utilizzato per la configurazione delle regole di caching e compressione dei contenuti, con l’obiettivo di ottimizzare la velocità di caricamento delle pagine e, di conseguenza, impattare positivamente sulla SEO e sulla soddisfazione degli utenti.

Un’altra caratteristica significativa del file .htaccess è la sua capacità di sovrascrivere le impostazioni globali del server. Questo consente ai webmaster di implementare rapidamente modifiche senza dover riavviare il server, rendendo le configurazioni più agili e reattive alle necessità del sito.

È fondamentale notare che tutte queste configurazioni sono gestibili grazie a una sintassi specifica e a direttive Apache che il file .htaccess interpreta. Ogni direttiva è una riga di codice che dà precise istruzioni al server su come gestire determinate richieste o configurazioni. Per sfruttare appieno le potenzialità del file .htaccess, quindi, è necessaria una buona conoscenza delle direttive Apache, poiché errori nella sintassi possono causare malfunzionamenti del server o del sito web.

Quali sono le funzioni principali di .htaccess

Il file .htaccess svolge numerose funzioni cruciali per il funzionamento e l’ottimizzazione di un sito web su server Apache e non solo.

L’applicazione più comune e rilevante è probabilmente la gestione dei redirect: come sappiamo, possiamo fare i redirect anche attraverso plugin WordPress specifici, ma se utilizziamo il file .htaccess abbiamo un diverso e superiore livello di controllo, efficienza e contesto di utilizzo – anche se ovviamente il sistema è un po’ meno intuitivo e accessibile, almeno per utenti meno esperti. Nello specifico, i redirect impostati in questo modo avvengono a livello del server, prima che qualsiasi altro codice del sito venga caricato, e pertanto sono estremamente rapidi e meno dispendiosi in termini di  risorse. Utilizzare .htaccess consente anche di avere un controllo più granulare e preciso grazie all’accesso diretto alle direttive Apache, per scrivere regole complesse e specifiche. Questo approccio è particolarmente utile in situazioni di hosting condiviso o quando si desidera applicare redirect a livello di directory; i reindirizzamenti tramite .htaccess funzionano indipendentemente dalla piattaforma su cui è basato il sito, senza richiedere l’installazione di software aggiuntivo.

Un’altra funzione significativa è la protezione da hotlinking, che si verifica quando altre pagine web utilizzano direttamente i contenuti del nostro sito (come immagini o video) nei loro siti, consumando la nostra larghezza di banda. Con il file .htaccess, è possibile impedire che questo accada, risparmiando risorse preziose del server e proteggendo il nostro contenuto da utilizzi non autorizzati.

Il file .htaccess consente anche la personalizzazione delle pagine di errore: possiamo configurare pagine di errore personalizzate per vari codici di errore HTTP (come 404, 500, ecc.), offrendo un’esperienza utente migliore, più professionale e in linea con il design del sito, invece di utilizzare le pagine di errore generiche fornite dal server.

Infine, il file .htaccess permette di configurare regole di caching, che possono migliorare significativamente le performance del sito. Impostando le direttive di caching, possiamo controllare come e per quanto tempo i contenuti statici del sito (come immagini, CSS e JavaScript) vengono memorizzati nella cache dei browser degli utenti. Questo riduce il tempo di caricamento delle pagine, migliorando l’esperienza utente e i punteggi di PageSpeed Insights, il che a sua volta può avere un impatto positivo sul posizionamento SEO del sito.

Utilità del file .htaccess

Il file .htaccess si rivela un strumento versatile e potente, che consente ai webmaster di gestire una vasta gamma di configurazioni direttamente dalla directory del sito. Da redirect SEO-friendly a misure di sicurezza avanzate, passando per personalizzazioni dell’esperienza utente e miglioramenti delle performance, .htaccess offre soluzioni rapide ed efficaci alle numerose sfide che un sito web può affrontare.

Questa capacità di apportare modifiche “al volo” senza necessità di riavviare il server rende .htaccess uno strumento estremamente utile per webmaster e SEO Specialist.

Nello specifico, è molto apprezzata la possibilità di apportare modifiche rapide senza accedere alle configurazioni globali del server, importante in contesti di hosting condiviso, dove gli amministratori del sito non hanno accesso diretto ai file di configurazione del server e tale livello di controllo sarebbe altrimenti sarebbe irraggiungibile.

Inoltre, mediante .htaccess, sviluppatori e amministratori possono implementare rapidamente nuove regole e configurazioni senza dover riavviare il server, come detto: questo è un vantaggio cruciale per siti con elevato traffico, dove i tempi di inattività devono essere minimizzati a tutti i costi.

Un altro punto di forza del file .htaccess è la facilità d’uso e flessibilità: anche se richiede una conoscenza di base delle direttive Apache, offre una sintassi relativamente semplice da imparare e applicare. Infine, l’utilizzo del file .htaccess può avere implicazioni dirette sulla sicurezza del sito web. Gestire le autorizzazioni, implementare l’autenticazione tramite password per directory specifiche, limitare l’accesso a risorse sensibili basato su indirizzo IP: tutte queste operazioni possono essere facilmente configurate tramite .htaccess, aggiungendo un ulteriore strato di protezione contro accessi non autorizzati e attacchi malevoli.

Sicurezza del sito con htaccess

Il file .htaccess si distingue proprio come strumento versatile per implementare misure di sicurezza avanzate, conferendo ai webmaster un controllo granulare sulle protezioni del sito. Un uso comune del file .htaccess è il blocco degli IP sospetti, che avviene tramite l’aggiunta di righe di codice che negano l’accesso a determinati indirizzi IP o interi range, impedendo così ad hacker o utenti indesiderati di accedere al sito.

Un’altra misura di sicurezza cruciale è l’autenticazione tramite password per directory specifiche: così possiamo proteggere determinate aree del sito, richiedendo l’inserimento di una password prima di concedere l’accesso a pagine di amministrazione, file sensibili o sezioni del sito che intendiamo riservare solo a certi utenti. La configurazione di questa autenticazione avviene tramite due file: .htaccess e .htpasswd: il primo contiene le direttive di protezione, mentre il secondo contiene le credenziali di accesso criptate.

Come impostare il file htaccess

Impostare correttamente il file .htaccess richiede alcune competenze di base in merito alle direttive Apache e alla gestione dei file sul server. Il processo, tuttavia, è relativamente semplice e può essere suddiviso in alcuni passaggi chiave che coprono la creazione, la modifica e il posizionamento del file.

Innanzitutto, dobbiamo creare o modificare il file .htaccess. Se non è già presente, possiamo crearne uno usando un editor di testo: strumenti come Notepad su Windows o TextEdit su macOS possono essere utili per operazioni semplici, mentre editor più avanzati come Sublime Text o Visual Studio Code offrono funzionalità aggiuntive come la sintassi evidenziata, che può facilitare la scrittura e la lettura delle direttive Apache. Una volta aperto l’editor di testo, salviamo il file come .htaccess – rispettando il punto iniziale, che lo renderà come detto un file nascosto nei sistemi Unix-based.

Il passo successivo è accedere al server dove è ospitato il nostro sito web. Ci sono diversi modi per accedere ai file del server, ma il più comune è tramite un client FTP come FileZilla. Una volta connessi al server, navighiamo fino alla cartella principale del sito web (nota anche come root directory o public_html). È importante notare che il file .htaccess deve essere collocato nella directory specifica in cui desideriamo applicare le direttive. Se le direttive devono essere applicate globalmente al sito, il file deve essere posizionato nella root directory del sito. Se invece vogliamo che si applichino solo a una specifica sottodirectory, il file deve essere collocato in quella sottodirectory.

Dopo aver posizionato il file .htaccess nella directory corretta, è il momento di aggiungere le direttive necessarie. Le direttive di configurazione possono variare a seconda delle esigenze specifiche del sito. Ad esempio, per impostare un redirect 301 permanente, possiamo aggiungere una riga come:

Redirect 301 /vecchio-url https://www.esempio.com/nuovo-url

Se invece desideriamo proteggere una directory con una password, dovremo modificare il file .htaccess per includere:

AuthType Basic

AuthName “Restricted Area”

AuthUserFile /percorso/completo/al/.htpasswd

Require valid-user

Inoltre, per abilitare la compressione dei file e migliorare la velocità del sito, possiamo aggiungere:

<IfModule mod_deflate.c>

    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript

</IfModule>

È fondamentale testare le modifiche apportate al file .htaccess subito dopo averle salvate e caricate sul server. Errori di sintassi o configurazioni errate possono causare il malfunzionamento del sito o addirittura renderlo inaccessibile. Quindi, verifichiamo sempre il corretto funzionamento del sito dopo aver aggiornato il file .htaccess.

Infine, è una buona pratica mantenere un backup del file .htaccess originale prima di apportare qualsiasi modifica. Questo ci permette di ripristinare rapidamente lo stato precedente nel caso in cui qualcosa vada storto.

Come modificare .htaccess: strumenti e consigli

Per creare e modificare il file .htaccess serve quindi innanzitutto un editor di testo, scegliendo tra strumenti semplici come Notepad e editor più avanzati come Sublime Text o Visual Studio Code.

La scelta dello strumento dipende dalle preferenze personali e dal livello di funzionalità richiesto: gli editor di testo come Notepad possono essere sufficienti per modifiche basilari, grazie alla loro semplicità e rapidità. Tuttavia, editor avanzati come Sublime Text offrono una serie di funzionalità aggiuntive come la sintassi evidenziata, che può facilitare la scrittura e la lettura delle direttive Apache, riducendo il rischio di errori.

Indipendentemente dallo strumento scelto, è fondamentale disporre di una buona comprensione delle direttive Apache. Queste direttive sono essenziali per configurare correttamente il file .htaccess e ottenere i risultati desiderati. Le direttive Apache variano dalle regole di riscrittura degli URL alle configurazioni di sicurezza e caching, ciascuna con una sintassi specifica che deve essere rispettata per evitare malfunzionamenti del server.

Un’altra considerazione importante riguarda il percorso di accesso al file .htaccess. In molti casi, è possibile accedere e modificare il file direttamente tramite il file manager del pannello di controllo del proprio hosting (come cPanel). Altrimenti, è possibile utilizzare un client FTP (come FileZilla) per scaricare, modificare e ricaricare il file .htaccess sul server. Prima di apportare qualsiasi modifica è consigliabile eseguire un backup del file .htaccess originale, da ripristinare rapidamente in caso di errori per riportare la situazione alla funzionante configurazione precedente.

Infine, è buona norma considerando eventuali impostazioni di permessi del file. Nei sistemi Unix-like, i permessi del file .htaccess dovrebbero generalmente essere impostati su 644 (che permette l’accesso in lettura e scrittura al proprietario e solo in lettura agli altri), il che garantisce un livello bilanciato di sicurezza e accessibilità.

Che competenze servono per intervenire sul file

Anche se le modifiche di base al file .htaccess possono essere eseguite da chiunque abbia una minima esperienza con editor di testo, per configurazioni più avanzate è consigliabile possedere una solida comprensione delle direttive Apache e delle loro implicazioni.

Le modifiche di base possono includere semplici redirect o l’abilitazione della compressione gzip per migliorare le prestazioni del sito. Ad esempio, per abilitare la compressione gzip, è sufficiente aggiungere poche righe di codice:

<IfModule mod_deflate.c>

    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript

</IfModule>

Tuttavia, configurazioni più avanzate, come impostare regole di riscrittura complesse o implementazioni di sicurezza avanzate, richiedono una conoscenza più approfondita non solo delle direttive Apache ma anche della logica e delle best practice di gestione del server web. Ad esempio, la configurazione di regole di riscrittura per URL SEO-friendly o la protezione di directory specifiche tramite autenticazione basata su password richiedono una comprensione dettagliata di come lavorano i moduli di riscrittura (mod_rewrite) e di accesso (mod_auth) di Apache.

Inoltre, è utile avere una consapevolezza delle implicazioni di sicurezza delle modifiche apportate al file .htaccess. Configurazioni errate possono esporre il sito a vulnerabilità che potrebbero essere sfruttate da attaccanti. Pertanto, è consigliabile avere una conoscenza di base delle tecniche di sicurezza web, come la prevenzione del cross-site scripting (XSS) e dell’injection di codice SQL, per implementare misure di protezione efficaci.

Per chi non si sente sicuro nell’effettuare modifiche avanzate, è sempre possibile consultare documentazione dettagliata su Apache o cercare soluzioni nei numerosi forum e comunità online dedicate alla gestione server e SEO. In alternativa, considerare il coinvolgimento di un professionista esperto in configurazione server e ottimizzazione SEO può assicurare che le modifiche vengano implementate correttamente e senza compromettere la sicurezza o la performance del sito.

Le origini del file htaccess

Questo file ha fatto la sua comparsa nei primi anni ’90 con l’introduzione del Apache HTTP Server, uno dei server web più utilizzati a livello mondiale. All’epoca, la gestione delle configurazioni del server e delle risorse web era un’operazione alquanto complessa e centralizzata: il team di sviluppo di Apache voleva pertanto creare uno strumento che fosse insieme semplice e potente, per permette ai webmaster di gestire le configurazioni di accesso senza dover modificare i file di configurazione del server principale.

Fu così che nacque il file .htaccess: l’idea era di dare ai webmaster un mezzo flessibile per controllare diverse direttive a livello di directory. Questo metodo decentralizzato di gestione delle configurazioni si dimostrò particolarmente utile in ambienti di hosting condiviso, dove gli utenti non avevano né accesso né permessi per alterare le configurazioni globali del server. Con l’introduzione del file .htaccess, i webmaster ottennero uno strumento funzionale per implementare rapidamente regole di sicurezza, impostazioni di redirezione e personalizzazioni variabili, senza influire sul funzionamento generale del server.

Da allora, il file .htaccess è evoluto insieme al server Apache, acquisendo nuove funzionalità e miglioramenti con l’avanzare delle versioni. Le prime versioni del file .htaccess erano piuttosto rudimentali e offrivano funzioni basilari come la gestione delle direttive di sicurezza e alcune redirect URL. Tuttavia, man mano che la complessità e le esigenze delle infrastrutture web aumentavano, anche il file .htaccess si è adattato per rispondere a queste nuove sfide.

Uno dei momenti chiave nell’evoluzione del file .htaccess è stato l’aggiunta delle regole di riscrittura degli URL. Questo ha consentito ai webmaster di gestire URL SEO-friendly, migliorando la leggibilità degli URL e l’indicizzazione sui motori di ricerca. In parallelo, sono state integrate anche funzionalità avanzate di caching per migliorare la velocità di caricamento dei siti, nonché regole di compattazione che aiutano a ridurre la dimensione dei file inviati attraverso il server.

Inoltre, con l’avvento e la diffusione di Content Management Systems (CMS) come WordPress, il file .htaccess ha assunto un ruolo ancora più centrale. Questi CMS spesso generano e gestiscono automaticamente il file .htaccess per implementare funzionalità chiave come i permalink, i reindirizzamenti e le impostazioni di sicurezza, facilitando ulteriormente il lavoro dei webmaster e assicurando che le best practice siano applicate in modo consistente.

La versatilità di htaccess: server Apache ma non solo

La storia di htaccess si lega quindi a quella Apache HTTP Server, comunemente noto come Apache, che è un server web open source sviluppato e mantenuto dalla Apache Software Foundation. È uno dei server web più diffusi al mondo e offre una vasta gamma di funzionalità attraverso moduli che consentono di gestire hosting virtuale, configurazioni di sicurezza, riscrittura degli URL e molte altre configurazioni avanzate per servire contenuti web in modo efficiente e sicuro.

Tuttavia, la flessibilità del concetto di configurazione a livello di directory ha portato il principio di .htaccess ad essere adottato nel tempo anche da altri server web, e in particolare:

  • LiteSpeed. Questo server è completamente compatibile con .htaccess e supporta molte delle stesse direttive utilizzate in Apache, facilitando la migrazione e l’interoperabilità.
  • Nginx. Sebbene non supporti nativamente i file .htaccess, Nginx consente configurazioni simili tramite il file globale nginx.conf, dove le direttive possono essere trasferite e implementate.
  • Microsoft IIS. Utilizza il file web.config per realizzare molte delle stesse funzionalità offerte da .htaccess, come le riscritture URL e il controllo degli accessi.

Come funziona la gestione di htaccess su WordPress

Il file .htaccess assume un’importanza ancora maggiore quando si parla di WordPress, dove riveste un ruolo centrale nella gestione di molte funzionalità chiave che influenzano sia la struttura del sito che la sua performance.

Una delle applicazioni più comuni di .htaccess su WordPress è la configurazione dei permalink, che come sappiamo sono gli URL permanenti assegnati ai post, pagine e categorie del blog. Una struttura di permalink ottimale non solo rende gli URL più leggibili e user-friendly, ma ha anche un impatto potenziale sulla visibilità organica sulla SEO. Il file .htaccess viene automaticamente modificato da WordPress per riflettere le scelte di struttura dei permalink fatte dall’utente nel backend del CMS.

Inoltre, WordPress fa uso del file .htaccess per migliorare la sicurezza e la performance del sito: plugin di sicurezza noti, come Wordfence e iThemes Security, modificano .htaccess per aggiungere regole che bloccano accessi malevoli e riducono il rischio di attacchi DDoS. Allo stesso modo, plugin di ottimizzazione della performance come W3 Total Cache manipolano il file .htaccess per configurare regole di caching avanzate che riducono i tempi di caricamento delle pagine.

.htaccess e SEO: i vantaggi per l’ottimizzazione e la visibilità

L’utilizzo corretto del file .htaccess può avere ripercussioni significative sull’ottimizzazione SEO di un sito web, incidendo positivamente su diversi aspetti fondamentali.

Uno dei benefici più immediati riguarda la velocità di caricamento del sito: il file .htaccess consente di impostare regole di caching efficienti che permettono di memorizzare temporaneamente le risorse del sito nei browser degli utenti. Questo riduce il tempo di caricamento delle pagine durante le visite successive, migliorando così l’esperienza utente e, potenzialmente, anche i punteggi sulle metriche Core Web Vitals e Page Experience che Google utilizza come fattore di ranking.

Academy
Webinar
Tools
Registrazione

SEO: Senza Errori Orribili!

Ottimizza il tuo sito web, evita gli errori e punta dritto al successo

Un’altra area in cui .htaccess si rivela estremamente utile è la risoluzione dei duplicati di contenuti. La presenza di contenuti duplicati può confondere i motori di ricerca, portando a una distribuzione non ottimale di link juice e, in ultima analisi, a un posizionamento meno efficace. Utilizzando direttive di riscrittura nel file .htaccess è possibile impostare regole che reindirzzano automaticamente le versioni non preferite delle pagine (come quelle con o senza www, o quelle con tracciatori URL come “?utm_source”) verso la loro versione canonica. Questo aiuta a consolidare il ranking delle pagine, evitando penalizzazioni e migliorando la coerenza del sito agli occhi dei motori di ricerca.

Non meno importante è la gestione dei parametri URL. Alcuni siti web generano URL con una moltitudine di parametri che possono complicare sia l’esperienza utente che l’indicizzazione da parte dei motori di ricerca. Con .htaccess è possibile riscrivere questi URL, rendendoli più puliti e facili da seguire. Ad esempio, un URL complessa come example.com/page.php?id=123&sort=asc può essere riscritto in una forma più pulita e SEO-friendly come example.com/product/123. Questo non solo migliora l’estetica degli URL, ma facilita anche la loro scansione e indicizzazione.

Infine, l’implementazione di redirect SEO-friendly tramite .htaccess è fondamentale per gestire correttamente i cambiamenti di URL, evitando perdite di ranking e mantenendo l’integrità del sito: i redirect 301 comunicati nel file .htaccess trasferiscono link juice al nuovo URL, preservando il valore acquisito nel tempo dal vecchio URL e assicurando una transizione fluida.

Iscriviti alla newsletter

Prova SEOZoom

7 giorni di Prova Gratuita

Inizia ad aumentare il tuo traffico con SEOZoom!
TOP