Come utilizzare il file .htaccess
Cos’è .htaccess?
Htaccess è l’abbreviazione di Hypertext Access. È un file di configurazione utilizzato dai server Web basati su Apache.
I file di configurazione configurano le impostazioni iniziali di un programma, o in questo caso il server. Ciò significa che il file .htaccess può essere utilizzato per far sì che il server si comporti in un certo modo.
Ogni funzione è fondamentalmente solo una riga di testo, o codice, che dice al server cosa fare. Puoi aggiungere o modificare la funzionalità aggiungendo o modificando codice nel file .htaccess.
Indice Argomenti
- Cos’è htaccess
- A cosa serve .htaccess?
- Cos’è .htaccess per WordPress?
- Dove trovo Htaccess su WordPress?
- Htaccess di default per WordPress
- Modificare htaccess WordPress
- Modificare htaccess WordPress utilizzando cPanel
- Redirect htaccess di WordPress
- Redirect htaccess di un singolo post o pagina
- Redirect htaccess dell’intero sito web
- Sfruttare la potenza di WordPress htaccess
- Prerequisiti
- Abilitazione di un file .htaccess
- Creazione del file .htaccess
- Usi comuni per una pagina .htaccess
- Pagine di errore personalizzate
- Tipi MIME
- SSI
- Velocità e sicurezza con file .htaccess
- Conclusione
A cosa serve htaccess?
Ci sono molte possibilità con .htaccess, puoi, ad esempio, usarlo per:
- Proteggere il tuo sito con una password.
- Creare una pagina di errore personalizzata.
- Reindirizzare i visitatori a un’altra pagina.
Cos’è .htaccess per WordPress?
In WordPress, .htaccess è uno speciale file di configurazione che può controllare come il tuo server gestisce il tuo sito web. Essendo uno dei file di configurazione più potenti, .htaccess può controllare i reindirizzamenti 301, le connessioni SSL, la protezione con password, la lingua predefinita e altro sul tuo sito WordPress.
Più specificamente, il nome del file .htaccess fornisce i comandi per il controllo e la configurazione del server Web Apache in cui è ospitato il tuo sito. Questo server ospita anche centinaia o migliaia di altri siti in quelle che vengono definite “server farm”. Queste farm sono configurate e gestite da provider di web hosting.
Senza .htaccess, ogni proprietario di sito sullo stesso server Web Apache sarebbe obbligato a utilizzare le stesse impostazioni per il proprio sito. Per fortuna, quasi tutti i provider di hosting consentono l’uso di .htaccess.
Con questo file, puoi impostare reindirizzamenti, forzare SSL, bloccare indirizzi IP, negare l’accesso a file sensibili, inviare risposte HTTP personalizzate a determinate richieste, impedire l’hotlinking e configurare altre impostazioni necessarie per il tuo sito unico.
Di seguito, tratteremo dove si trova questo potente file, come crearlo e modificarlo e altro ancora.
Un file .htaccess viene utilizzato da un server web Apache come un modo per configurare i dettagli del tuo sito web senza alterare i file di configurazione del server. Questo file inizia con un punto, per indicare che è nascosto all’interno della cartella.
In questo tutorial imparerai come abilitare, creare e utilizzare un file .htaccess, nonché alcuni usi comuni e l’impatto sulla velocità e sulla sicurezza del tuo Sito WordPress.
Dove trovo Htaccess su WordPress?
Il file .htaccess di WordPress si trova nella directory principale del tuo sito WordPress. A seconda del provider di hosting, la directory principale potrebbe essere una cartella denominata public_html, www, htdocs o httpdocs. Puoi individuarlo utilizzando File Manager nel cpanel del tuo account di hosting. Esaminiamo il processo passo dopo passo.
Accedi al pannello di controllo del tuo account di hosting.
- Apri il File Manager.
- Nel menu di navigazione sul lato sinistro dello schermo, fai clic sulla cartella public_html.
- Apri la cartella con l’etichetta “wordpress”.
- Cerca il file .htaccess.
- Se non vedi la cartella, vai su Impostazioni.
- Dovrebbe apparire una finestra con l’etichetta “Preferenze”.
- Seleziona la casella denominata “Mostra file nascosti”. Seleziona la casella “Mostra file nascosti” nel cPanel per mostrare il file htaccess predefinito in WordPress
- Fonte immagine
- Ora dovresti essere in grado di vedere il file .htaccess.
Se ancora non riesci a vedere il file .htaccess, è possibile che non esista. Non preoccuparti: puoi crearne uno in pochi semplici passaggi. Esaminiamo il processo nella sezione successiva.
Htaccess di default per WordPress
Htaccess predefinito di WordPress
WordPress dovrebbe creare automaticamente un file .htaccess per te, ma a volte non è in grado di farlo a causa di un problema con i permessi dei file. In tal caso, seguire i passaggi seguenti.
- Accedi alla dashboard di WordPress e vai su Impostazioni > Permalink.
- Fai clic su Impostazioni > Permalink nella dashboard di WordPress per fare in modo che WordPress crei un file htaccess predefinito
- Senza modificare nulla, scorri fino in fondo e fai clic su Salva modifiche.
- WordPress proverà ora a generare un file .htaccess. In caso contrario, vedrai un messaggio di errore che dice “.htaccess file is not writeable” in fondo alla pagina.
- Dovrai creare manualmente il file .htaccess. Inizia accedendo al pannello di controllo del tuo account di hosting.
- Apri il File Manager.
Fare clic sull’icona File Manager in cpanel per iniziare il processo di creazione del file htaccess wordpress predefinito - Nel menu di navigazione sul lato sinistro dello schermo, fai clic sulla cartella public_html.
- Fai clic sull’icona +File nella barra degli strumenti nella parte superiore dello schermo.
- Fai clic sull’icona +File nel cpanel per creare il file htaccess wordpress predefinito
- Digita “.htaccess” nel campo d’immissione Nuovo nome file.
- Fare clic su Crea nuovo file.
- Fare clic con il pulsante destro del mouse sul file appena creato per modificarlo.
Aggiungi il seguente codice.
# BEGIN WordPress
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]
# END WordPress
Modificare htaccess WordPress
La modifica del file .htaccess, o di qualsiasi file principale di WordPress, è rischiosa. Potresti finire per eliminare codice che non dovresti, aggiungere codice errato o commettere un altro errore che può far crollare il tuo sito web.
Per mitigare i rischi, dovresti adottare almeno uno dei passaggi precauzionali di seguito prima di apportare modifiche direttamente al file htaccess.
- Esegui il backup del tuo sito WordPress in modo da poter ripristinare una versione precedente in caso di errore.
- Utilizza un sito di staging per testare le tue modifiche prima di pubblicarle sul tuo sito pubblico.
- Crea un file .htaccess di backup e scaricalo sul tuo computer. In questo modo, se le tue modifiche nel file .htaccess predefinito causano problemi, puoi caricare il file di backup.
Dopo aver completato almeno uno dei passaggi precedenti, sei per modificare. Esiste più di un modo per modificare il file .htaccess in WordPress. Esaminiamo come farlo manualmente e utilizzando un plug-in di WordPress .
Modificare htaccess WordPress utilizzando cPanel
Se preferisci non aggiungere un altro plug-in al tuo sito WordPress , puoi utilizzare cPanel nel tuo account di hosting. Se opti per questo metodo, dovrai completare tu stesso almeno uno dei passaggi precauzionali descritti sopra.
Ecco i passaggi per modificare il file .htaccess in WordPress usando cPanel.
- Accedi al pannello di controllo del tuo account di hosting.
- Apri il File Manager.
- Nel menu di navigazione sul lato sinistro dello schermo, fai clic sulla cartella public_html .
- Apri la cartella con l’etichetta “wordpress”.
- Fai clic sulla cartella etichettata WordPress in cPanel per trovare e modificare htaccess
- Trova il file .htaccess e fai clic con il pulsante destro del mouse per modificarlo.
- Aggiungi qualsiasi codice prima della riga che legge # BEGIN WordPress.
Redirect htaccess di WordPress
L’impostazione di reindirizzamenti, in particolare redirect 301, sul tuo sito WordPress può impedire ai tuoi visitatori di visualizzare una pagina di errore 404 invece del contenuto che hanno richiesto. Dice anche ai motori di ricerca che un post o una pagina è stata spostata in modo permanente così che essi sappiano trovare, scansionare e indicizzare la nuova pagina approssimativamente nella stessa posizione della vecchia pagina sulle SERP.
Diciamo ad esempio che decidi di rimuovere i possibili contenuti duplicati sul tuo sito. In tal caso, puoi impostare reindirizzamenti da post obsoleti a singole pagine aggiornate. Oppure supponiamo che rinomini l’URL di un singolo post o di una pagina.
Puoi impostare un reindirizzamento in modo che qualsiasi link interno o esterno sul tuo sito con il vecchio URL indirizzi i visitatori al nuovo URL.
Oppure diciamo che cambi il tuo nome di dominio. In tal caso, puoi impostare i reindirizzamenti in modo che tutti i visitatori che tentano di visitare il vecchio nome di dominio vengano indirizzati a quello nuovo.
Questi sono solo alcuni dei motivi per cui potresti voler impostare i reindirizzamenti utilizzando il file .htaccess in WordPress. Ora vediamo come.
Redirect di un singolo post o pagina
Per reindirizzare un singolo post o pagina, aggiungi la seguente riga di codice per ogni post o pagina che desideri reindirizzare.
Redirect 301 /vecchia-url-slug https://tuodominio.com/nuova-url-slug
Nota che devi solo includere lo slug di WordPress del vecchio URL (cioè la parte dopo il tuo nome di dominio). Tuttavia, dovresti includere l’URL completo del nuovo post o pagina.
Diamo un’occhiata a un esempio specifico. Supponiamo di avere due post di blog duplicati sui plugin per appuntamenti di WordPress . Quindi puoi combinare il contenuto di entrambi i post e reindirizzare l’URL con meno traffico e backlink all’URL con più traffico e backlink. Supponiamo quindi che desideri reindirizzare ” https://blog.hubspot.com/website/best-appointment-booking-plugins-for-wordpress ” a ” https://blog.hubspot.com/marketing/wordpress- plug-in per appuntamenti ”. Quindi, aggiungi la seguente riga di codice nel file .htaccess:
Redirect 301 /best-appointment-booking-plugins-for-wordpress https://blog.hubspot.com/marketing/wordpress-appointment-plugin
Redirect dell’intero sito web
Per reindirizzare un intero sito Web a un nuovo dominio, aggiungi il seguente frammento di codice al file .htaccess in WordPress:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC]
RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301,NC]
Sostituisci il testo segnaposto nella seconda, terza e quarta riga con i tuoi attuali nomi di dominio vecchi e nuovi. Questo frammento di codice conserverà la struttura del collegamento. Quindi, ad esempio, la tua pagina di contatto che era “www.vecchiodominio.com/contatto” reindirizzerà a “www.nuovodominio.com/contatto”.
Forzare HTTPS htaccess WordPress
Forzare HTTPS è un passaggio necessario se hai recentemente installato un certificato SSL sul tuo sito WordPress .
Un certificato SSL è una tecnologia di sicurezza standard per la crittografia delle informazioni tra il browser di un visitatore e il tuo sito web.
Poiché aiuta a tenere al sicuro informazioni sensibili come password e informazioni di pagamento, i visitatori si sentono più sicuri sui siti crittografati con SSL. Potrebbe anche aiutarti a classificarti meglio. Già nel 2014, Google ha annunciato che avrebbe dato ai siti con SSL un piccolo aumento del ranking .
Se hai recentemente installato un certificato SSL, devi eseguire ulteriori passaggi per configurare il tuo sito in modo che utilizzi l’URL sicuro con HTTPS anziché HTTP. Secondo il Codex di WordPress , puoi farlo aggiungendo il seguente codice al file .htaccess.
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "www.WordPress.com"
ErrorDocument 403 https://www.WordPress.com
Ciò farà si che tutti i visitatori che utilizzano la versione HTTP dell’indirizzo del tuo sito verranno reindirizzati alla versione con SSL .
Per uno sguardo più approfondito su come forzare HTTPS sul tuo sito WordPress utilizzando il file .htaccess o un plug-in, consulta l’articolo Come forzare HTTPS sul tuo sito WordPress .
Sfruttare la potenza di WordPress htaccess
Il file .htaccess può offrirti un controllo più sofisticato sul tuo sito Web WordPress. Puoi impostare reindirizzamenti alle pagine più aggiornate del tuo sito, forzare SSL per garantire che i visitatori vengano inviati alla versione HTTPS del tuo sito e configurare altre impostazioni per proteggere il tuo sito WordPress .
Sei un amministratore Server e vuoi creare un file .Htaccess per il tu server Apache?
Di seguito ecco tutte le istruzioni per creare il tuo Htacces
Prerequisiti
Se vuoi esercitarti usando un file .htaccess seguendo gli esempi in questo tutorial, avrai bisogno di:
- Un server Ubuntu 20.04 configurato con un utente non root con privilegi e firewall sudo abilitato. Puoi farlo seguendo la guida alla configurazione iniziale del server Ubuntu 20.04 .
- Il server Web Apache installato sul tuo server Ubuntu.
- Se desideri esercitarti con un dominio (facoltativo), puoi crearne uno acquistando un nome di dominio, ottenerne uno gratuitamente su Freenom o utilizzare un registrar di domini di tua scelta. Avrai anche bisogno di entrambi i seguenti record DNS configurati per il tuo server: due record A, uno con tuo_dominio e uno con www.tuo_dominio che puntano all’indirizzo IP pubblico del tuo server.
- Se desideri anche proteggere il tuo host virtuale, puoi farlo con un certificato attendibile gratuito. Tuttavia, se non disponi di un dominio, puoi utilizzare un certificato self-signed. Ciò fornisce lo stesso tipo di crittografia, ma senza convalida del dominio.
Una volta terminata la configurazione, puoi esercitarti ad abilitare e creare un file .htaccess nei passaggi successivi.
Abilitazione di un file .htaccess
Se hai accesso alle impostazioni del server, puoi modificare la configurazione di Apache per consentire al file .htaccess di sovrascrivere le configurazioni standard del sito web.
Inizia aprendo il file host virtuale con il tuo editor di testo preferito. Qui, useremo:
apache2/sites-available/tuo_dominio.confnano
$ sudo nano /etc/apache2/sites-available/tuo_dominio.conf
Questo file conterrà i seguenti contenuti:
/etc/apache2/sites-available/tuo_dominio.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.tuo_dominio
DocumentRoot /var/www/tuo_dominio
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Aggiungi il seguente blocco di contenuto Directory all’interno del blocco VirtualHost:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName tuo_dominio
ServerAlias www.tuo_dominio
DocumentRoot /var/www/tuo_dominio
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>
La riga più importante di questo blocco di contenuto Directory è la AllowOverride All, che consente l’utilizzo dei file .htaccess. Dopo aver aggiunto queste informazioni, salva e chiudi il file. Se stai usando nano puoi farlo premendo CTRL + X poi Y e ENTER.
Successivamente, riavvia Apache:
$ sudo service apache2 restart
Ora che le tue impostazioni di configurazione sono state aggiornate per consentire l’uso dei file .htaccess, nel passaggio successivo ne creerai uno.
Creazione del file .htaccess
Per creare un file .htaccess nel tuo terminale, devi accedere alla tua directory principale web. La tua directory web root è quella dove posizionare il file .htaccess in modo che le tue configurazioni possano essere eseguite correttamente per il tuo sito web. Il corretto posizionamento del file .htaccess è importante poiché le configurazioni in quel file influiscono su tutto nella sua directory e nelle directory successive.
Ciò significa che se stai servendo un paio di siti Web diversi sullo stesso server Apache, il tuo file .htaccess dovrebbe essere posizionato nella directory principale del Web specifica per quel particolare sito Web.
Se hai seguito i prerequisiti, la tua directory root web si troverà nel seguente percorso: .Per creare un file per il tuo sito web, esegui il seguente comando:
/var/www/your_domain/.htaccess.htaccess
Ora che hai imparato un paio di modi per creare un file .htaccess, ora esamineremo alcuni usi comuni di una pagina .htaccess.
$ sudo nano /var/www/tuo_dominio/.htacces
Usi comuni per una pagina .htaccess
Ci sono cinque usi comuni per una .htaccess pagina sul tuo sito:
Mod_Riwrite
Uno degli aspetti più utili del file .htaccess è mod_rewrite. Puoi utilizzare il file .htaccess per designare e modificare il modo in cui gli URL e le pagine web dei tuoi siti vengono visualizzati dagli utenti .
Autenticazione
Per configurare l’autenticazione di sicurezza con .htaccess, è possibile creare un file password chiamato .htpasswd per autenticare gli utenti. Apportare questa modifica creerà un portale di password che richiede ai visitatori del sito d’inserire una password se desiderano accedere a determinate sezioni della pagina web. Quando crei questo file, assicurati di salvarlo in un posto diverso dalla directory web per motivi di sicurezza.
Per creare il file, esegui il comando htpasswd e includi l’opzione -c e il nome utente per creare il file htpasswd specificato. Una volta che ciò accade, un prompt ti chiederà di fornire una password.
Puoi inserire tutte le righe necessarie nel file htpasswd, ma assicurati che ogni utente riceva la propria rispettiva riga. L’esempio seguente illustra come creare una nuova voce nel file, in questo caso per l’utente marco:
sudo htpasswd -c /etc/apache2/.htpasswd marco
Puoi controllare il contenuto di questo file eseguendo cat /etc/apache2/.htpasswd e produrrà il nome utente e la password crittografata per ogni record che hai aggiunto.
Dopo aver aggiunto gli utenti desiderati, apri il file .htaccess. Se hai seguito la guida ai prerequisiti, questa si troverà nel seguente percorso:
$ sudo nano /var/www/tuo_dominio/.htaccess
Tieni presente che in questo esempio stiamo limitando l’intera radice del documento basata su /var/www/tuo_dominio/, ma questo può essere inserito in qualsiasi directory a cui desideri limitare l’accesso.
Una volta aperto questo file, aggiungi i seguenti contenuti e salva le modifiche per iniziare a utilizzare la funzione password:
/var/www/tuo_dominio/.htaccess
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
Per saperne di più, leggi il nostro tutorial su Come impostare l’autenticazione della password con Apache .
Pagine di errore personalizzate
Un file .htaccess ti consente inoltre di creare pagine di errore personalizzate per il tuo sito. Alcuni degli errori più comuni sono:
- 400 Richiesta errata
- 401 Autorizzazione richiesta
- 403 Pagina Proibita
- 404 File non trovato
- 500 Errore interno
Per rendere una pagina user-friendly e fornire più informazioni al visitatore del sito rispetto a quelle offerte dalla pagina di errore predefinita del server, è possibile utilizzare il file .htaccess per creare pagine di errore personalizzate.
Tipi MIME
Nei casi in cui il tuo sito presenti alcuni file dell’applicazione che il tuo server non è stato configurato per consegnare, puoi aggiungere tipi MIME (Multipurpose Internet Mail Extensions) al tuo server Apache nel file con il seguente codice .htaccess:
AddType audio/mp4a-latm .m4a
Assicurati di sostituire l’applicazione e l’estensione del file con il tipo MIME che desideri supportare. Per questo esempio, abbiamo specificato un tipo MIME di file audio.
SSI
Le inclusioni lato server (SSI) sono un ottimo risparmio di tempo su un sito web. Uno degli usi più comuni di SSI è aggiornare un gran numero di pagine con alcuni dati specifici senza dover aggiornare ogni singola pagina. Ad esempio, se desideri modificare una citazione in fondo a una pagina.
Per abilitare SSI, inserisci il seguente codice nel tuo .htaccessfile:
AddType text/html .shtml
AddHandler server-parsed .shtml</pre>
Queste righe indicano al file .htaccess che i file .shtml sono validi, con la seconda riga che fa in modo specifico che il server analizzi tutti i file che terminano con .shtml per ciascun comando SSI.
Tuttavia, se hai molte pagine html che non desideri rinominare con estensioni .shtml, è possibile utilizzare un’altra tattica per analizzarle per i comandi SSI, il file XBitHack.
Puoi usare questa tattica XBitHack aggiungendo la seguente riga al file .htaccess per fare in modo che Apache controlli tutti i file .html con le autorizzazioni appropriate per comandi SSI:
/var/www/tuo_dominio/.htaccess
XBitHack on
Per rendere una pagina idonea per XBitHack, utilizzare il comando chmod per modificare le autorizzazioni:
$ chmod +x pagename.html
Ora che conosci alcuni usi comuni di una .htaccesspagina, imparerai di più sull’impatto che un .htaccessfile ha sulla velocità e sulla sicurezza.
Velocità e sicurezza con file .htaccess
Anche se un file .htaccess può essere utilizzato per migliorare un sito, ci sono due cose da tenere presenti che possono influire: velocità e sicurezza.
Per quanto riguarda la velocità, il file .htaccess potrebbe rallentare il tuo server, ma per la maggior parte dei server, questo sarà probabilmente un cambiamento impercettibile. Ciò potrebbe essere dovuto alla posizione della pagina poiché il file .htaccess influisce sulle pagine nella sua directory e su tutte le directory successive. Ciò significa che ogni volta che una pagina viene caricata, il server esegue la scansione della sua directory e di tutte le directory che la precedono finché non raggiunge la directory più alta o un file .htaccess.
Questo processo avverrà fintanto che la direttiva AllowOverride consentirà l’utilizzo di .htaccessfile; indipendentemente dal fatto che i file .htaccess esistano effettivamente.
Per motivi di sicurezza, il file .htaccess è molto più accessibile rispetto alla configurazione standard di Apache e le modifiche vengono apportate istantaneamente (senza la necessità di riavviare il server). Ciò concede agli utenti il permesso di apportare modifiche al file .htaccess, dando loro un grande controllo sul server stesso.
Qualsiasi direttiva inserita nel file .htaccess ha lo stesso effetto che avrebbe nella stessa configurazione di Apache.
È anche importante notare che Apache generalmente scoraggia l’uso di .htaccess se l’utente può accedere da solo ai file di configurazione di Apache.
Conclusione
Il file .htaccess ti offre molta flessibilità per costruire il tuo sito. Per saperne di più sulla protezione del tuo sito, leggi il nostro tutorial sull’impostazione dell’autenticazione della password con Apache.
Puoi anche leggere di più nel nostro tutorial sull’installazione di un server Web Apache e su file e directory Apache particolarmente importanti.