Un .htaccess file o un file di configurazione distribuito è un file robusto utilizzato per controllare e gestire le configurazioni di un sito web. Tutte le modifiche alla configurazione vengono apportate per singola directory per garantire che i file di configurazione del server principale non vengano disturbati.
Quando è preferibile utilizzare il file .htaccess
Sia che tu voglia caricare pagine di errore o implementare la sicurezza delle password, un .htaccess ha un elenco di utilizzi. Alcuni degli esempi più comuni includono:
-
Aggiungere reindirizzamenti per un URL specifico o un elenco di URL.
-
Abilitare la protezione tramite password su determinate directory di un server.
-
Caricare pagine di errore personalizzate.
-
Forzare un sito a utilizzare HTTPS invece di HTTP.
-
Bloccare IP o domini mirati.
In questa guida, ti guideremo attraverso i passaggi per abilitare, creare e utilizzare il file .htaccess.
Prerequisiti
Per seguire questo tutorial, devi disporre di quanto segue:
-
L'ultima versione di Ubuntu installata sul tuo sistema.
-
Il server web Apache deve essere installato sul tuo server Ubuntu.
-
Un host virtuale Apache configurato per il tuo dominio.
-
Gli utenti di sistema devono avere privilegi sudo.
-
Host virtuale protetto con SSL.
-
Segui Proteggere Apache con Let’s Encrypt su Ubuntu 18.04 se configuri e proteggi Apache utilizzando il tuo dominio personalizzato.
-
In alternativa, puoi Creare un certificato SSL autofirmato per Apache in Ubuntu 20.04 se intendi utilizzare Apache per scopi di test.
-
|
Nota: Ci sono molti provider di domini che puoi considerare per acquistare domini personalizzati online. Namecheap, Freenom, e Bluehost, solo per citarne alcuni, sono noti per il loro servizio eccezionale. |
Una volta completata la configurazione iniziale, accedi al tuo server come utente sudo e iniziamo.
Passo 1 — Abilitare il file .htaccess
Per impostazione predefinita, il file .htaccess è disabilitato. Dobbiamo prima modificare la configurazione di Apache e abilitare il .htaccess file.
Apri il file apache2/sites-available/your_domain.conf dell'host virtuale utilizzando nano o qualsiasi editor di testo preferito:
|
1 |
$ sudo nano /etc/apache2/sites-available/your_domain.conf |
Supponendo che tu sia pronto con la configurazione discussa nella guida del server web Apache guide, troverai i seguenti dettagli di configurazione:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Successivamente, includi il seguente contenuto Directory all'interno del blocco VirtualHost:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName your_domain ServerAlias www.your_domain DocumentRoot /var/www/your_domain ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /var/www/tuo_dominio> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow, deny allow from all </Directory> </VirtualHost> |
Nel blocco di codice sopra, la riga AllowOverride All sotto la sezione Directory è la più significativa di tutte. Questa sezione abilita l'uso dei file .htaccess.
Dopodiché, salva il tuo lavoro e chiudi il file. Se stai usando l'editor di testo nano, usa la scorciatoia CTRL + X, Y, e INVIO per chiudere il file.
Controlla la configurazione prima di riavviare il server web:
|
1 |
$ sudo apache2ctl configtest |
Vedrai Syntax OK come output se tutto è a posto. Ora, riavvia il server per aggiungere la tua politica sulle password:
|
1 |
$ sudo systemctl restart apache2 |
Una volta che le impostazioni del file .htaccess sono state abilitate, è il momento di creare un nuovo file.
Passo 2 — Creare un file .htaccess
La creazione di un file .htaccess è semplice. Devi navigare nella directory root del web, ovvero l'origine, per individuare il file .htaccess per assicurarti che le modifiche alla configurazione siano eseguite correttamente.
|
Nota: Fai attenzione quando individui il file .htaccess . Un piccolo errore nella configurazione potrebbe influire negativamente sulla sua directory e sulle directory successive. Ad esempio, se desideri ospitare più siti web sullo stesso server Apache, posiziona il tuo file .htaccess nella directory root del web mappata con il sito web. |
Se hai seguito il prerequisito discusso sopra, troverai la directory root del web su /var/www/my_domain/.htaccess. Successivamente, crea un file .htaccess per il tuo sito web utilizzando:
|
1 |
$ sudo nano /var/www/tuo_dominio/.htaccess |
Una volta che il nostro file .htaccess è pronto, diamo un'occhiata ad alcuni dei suoi casi d'uso.
Passo 3 — Usi comuni del file .htaccess

L'uso di un file .htaccess sul tuo sito comporta una serie di vantaggi. Discutiamone in dettaglio:
-
Reindirizzamento degli URL
Il reindirizzamento degli URL, noto anche come inoltro URL, è una funzione del server web utilizzata per reindirizzare i visitatori di un dominio a un altro URL. Puoi utilizzare il file .htaccess per le tue esigenze di reindirizzamento URL. Aggiungi quanto segue nel tuo file .htaccess per mappare l'URL di origine all'URL di destinazione:
|
1 2 3 4 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^testdomain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.testdomain.com [NC] RewriteRule ^(.*)$ http://demodomain.com/$1 [L,R=301,NC] |
-
Creare pagine di errore personalizzate
Un aspetto utile del file .htaccess consiste nel creare una pagina di errore personalizzata. In genere, quando un utente incontra una pagina che non esiste sul sito web, sullo schermo appare un messaggio di errore. Alcuni dei codici di errore HTTP comuni includono:
-
400 Richiesta errata
-
401 Non autorizzato
-
403 Accesso negato
-
404 Non trovato
-
500 Errore interno del server
-
502 Gateway non valido
-
503 Servizio non disponibile
A differenza della pagina di errore predefinita del server "Pagina non trovata", utilizza il file .htaccess per offrire ai tuoi utenti un'esperienza di navigazione migliore e più intuitiva.
-
Configurare l'autenticazione di sicurezza
Utilizzando il file .htaccess , puoi anche configurare l'autenticazione di sicurezza. Per fare questo, devi creare un file .htpasswd per autenticare gli utenti.
Usa il comando htpasswd per creare un file di password per motivi di sicurezza. Apache utilizzerà questo file di password per autenticare gli utenti verificati. Naviga nella directory /etc/apache2 e crea un file riservato chiamato .htpasswd.
Per creare il file .htpasswd necessario, usa il comando -c opzione la prima volta che utilizzi questa utilità di sicurezza delle password. Successivamente, specifica il nome utente alla fine del comando per elencare una nuova voce all'interno del file. Dopodiché, sostituisci il nome utente nick (utilizzato in questo tutorial) con il tuo nome utente:
|
1 |
$ sudo htpasswd -c /etc/apache2/.htpasswd nick |
Successivamente, ti verrà chiesto di fornire e verificare la password dell’utente.
Continua a leggere questo tutorial per saperne di più sulla configurazione e l'impostazione dell'autenticazione tramite password con Apache su Ubuntu 20.04.
-
Aggiungi tipi MIME
La classificazione dei file utilizzati su Internet è semplicissima grazie all'uso del tipo Multi-Purpose Internet Mail Extensions (MIME). In diversi scenari in cui un sito web non riesce a fornire un file specifico, l'aggiunta di estensioni risolve il problema. Utilizza il seguente codice per aggiungere i tipi Multipurpose Internet Mail Extensions (MIME) al tuo server Apache nel file .htaccess file:
|
1 |
AddType audio/mp4a-latm .m4a |
|
Nota: Nella nostra guida, abbiamo un tipo MIME per file audio. Sostituisci l'applicazione e l'estensione del file con il tipo MIME di tuo interesse. Inoltre, assicurati che la configurazione del virtual host e la directory in cui si trova il file .htaccess siano in grado di utilizzare la direttiva AddType . In caso contrario, riceverai un errore 500 Internal Server Error. |
-
Server Side Includes (SSI)
Le SSI sono direttive che forniscono contenuti dinamici a una pagina HTML. Vengono utilizzate per aggiornare un gran numero di pagine con dati specifici senza la necessità di aggiornare esplicitamente ogni pagina.
Nei file HTML, il Server Side Includes (SSI) è disabilitato per impostazione predefinita. Aggiungi il seguente codice al tuo file .htaccess per abilitare le SSI:
|
1 2 |
AddType text/html .shtml AddHandler server-parsed .shtml</pre> |
Le righe sopra convalidano prima i file .shtml. La conferma viene quindi inviata al file .htaccess consentendo al server di analizzare tutti i file .shtml.
In alternativa, puoi utilizzare XBitHack per analizzare più contenuti .html invece di rinominare le estensioni .shtml una ad una. Aggiungi la seguente riga al file .htaccess per utilizzare XbitHAck e richiedere ad Apache di controllare tutti i file .html file:
|
1 |
XBitHack on |
Successivamente, è necessario modificare i permessi per abilitare la pagina all'uso di XBitHack. Utilizza il seguente comando chmod per farlo:
|
1 |
$ chmod +x pagename.html |
-
Gestione degli indirizzi IP
A volte, potresti voler bloccare un IP o un intervallo di indirizzi IP che visitano il tuo sito per motivi di sicurezza. Inserisci le seguenti righe di codice nel tuo file .htaccess per limitare l'IP di destinazione:
|
1 |
Order Deny, Allow Deny from A.A.A.A (dove A.A.A.A è un specifico IPv4 indirizzo) |
Utilizza una riga separata per bloccare più di un IP:
|
1 |
Order Deny Allow Deny from A.A.A.A (dove A.A.A.A è un specifico IPv4 indirizzo) Deny from B.B.B.B (dove B.B.B.B è un specifico IPv4 indirizzo) |
Inoltre, puoi bloccare l'accesso al tuo sito web da parte di determinati domini. Limita un dominio specifico aggiungendo la seguente riga di codice al file .htaccess file:
Order Deny, Allow Deny from www.blockdomain.com (dove www.blockdomain.com è un dominio specifico)
I contro dell'uso di .htaccess
L'aggiunta di un file
.htaccess è innegabilmente una mossa intelligente per configurare il tuo sito web e renderlo facile da usare. Tuttavia, qualsiasi modifica apportata alle impostazioni di configurazione comporta altri costi associati. Vediamo alcuni validi motivi per cui non dovresti utilizzare il file
.htaccess file:
i. Perdita di prestazioni: Ogni volta che un server scansiona la directory di una pagina e il suo file .htaccess, la pagina viene caricata. Di conseguenza, la perdita di velocità e prestazioni diventa una preoccupazione primaria.
ii. Sicurezza: L'accesso ai file .htaccess fornisce il controllo completo sulla configurazione del server. Ciò significa che qualsiasi utente non autorizzato che ottiene l'accesso al file .htaccess accesso al .htaccess file, che a sua volta comporta potenziali rischi per la sicurezza.
iii. Accessibilità: I file .htaccess devono essere gestiti con la massima cura e attenzione. Se ci sono errori nel .htaccess file, questo può mandare offline l'intero sito web.
Conclusione
In questa guida, abbiamo ottenuto un'idea completa su come abilitare, creare e utilizzare un .htaccess file. Abbiamo discusso il caso d'uso su quando e dove il .htaccess file deve essere utilizzato. Sfrutta i file .htaccess per salvaguardare il tuo sito web e proteggerlo dagli attacchi. Tuttavia, ci sono diverse insidie nell'uso di questo file di configurazione che non devono essere ignorate. In poche parole, usa i file .htaccess in base all’utilizzo del tuo server e alle esigenze di accesso dell’utente.
Inoltre, ci sono altri tutorial sul networking che puoi trovare sul nostro blog:
-
Configurazione dell'autenticazione HTTP di base con Nginx su Ubuntu 20.04
-
Proxying HTTP, bilanciamento del carico, buffering e caching con Nginx: una panoramica
Commenti
Ancora nessun commento. Scrivi il primo.