Support

author
5 minutes, 48 seconds Read
Aggiornato il 4 ottobre 2018

Che cos’è .htaccess?

Il file .htaccess (noto anche come file Hypertext Access) è utilizzato per definire configurazioni specifiche per i server web in esecuzione su Apache. Questo file di configurazione influisce sulla directory in cui è memorizzato e su tutte le sottodirectory all’interno di questa directory. Per esempio, se il file .htaccess si trova all’interno della directory principale, influenzerà l’intero sito. D’altra parte, se il file si trova in una directory specifica, influenzerà solo quella directory e tutte le sottodirectory al suo interno.

Alcune piattaforme CMS come WordPress e Drupal hanno anche dei file .htaccess che permettono di specificare alcune configurazioni che sono applicabili solo a quel sito. Il file .htaccess può essere utilizzato per ottenere una varietà di cose tra cui:

  • Effettuare reindirizzamenti
  • Personalizzare le pagine di errore
  • Restrizionare gli utenti in base all’IP
  • Aggiungere tipi MIME
  • Impostare intestazioni HTTP
  • Proteggere con password certe cartelle

Il file .htaccess può essere usato per ottenere molto altro, tuttavia la lista di cui sopra è tra gli usi più popolari di .htaccess. La sezione seguente delineerà vari esempi di .htaccess e come possono essere usati all’interno del tuo sito.

Esempi di .htaccess

Ci sono una vasta quantità di possibilità di configurazione che possono essere raggiunte all’interno del file .htaccess. L’elenco qui sotto è uno degli esempi più comunemente usati.

Ridirigere gli utenti a una pagina di errore specifica

In base al codice di stato che un particolare file o pagina restituisce, è possibile reindirizzare l’utente a una pagina di errore personalizzata. L’esempio qui sotto mostra alcune varianti che puoi usare. Ognuna dipende dal codice di stato che viene restituito.

ErrorDocument 403 /forbidden.htmlErrorDocument 404 /notfound.htmlErrorDocument 500 /servererror.html

Aggiungere un’intestazione e un valore personalizzati

Le intestazioni HTTP personalizzate possono anche essere aggiunte tramite il file .htaccess. Ci sono alcune opzioni di sintassi, come set che sostituirà qualsiasi intestazione precedente che abbia lo stesso nome, add che aggiungerà l’intestazione anche se ne esiste un’altra con lo stesso nome. Visita la guida alle intestazioni di pagina di Apache per saperne di più.

Header set X-Custom "Custom Value"

Nell’esempio qui sopra, il testo X-Custom corrisponde all’intestazione HTTP che sarà restituita nella risposta HTTP mentre il testo Custom Value corrisponde al valore di questa particolare intestazione.

Bloccare gli utenti in base all’IP

Per motivi di sicurezza, è possibile bloccare gli utenti in base al loro IP all’interno del file .htaccess. Nell’esempio qui sotto, ci sono due IP che vengono bloccati. Possiamo anche decidere di non includere l’ultima cifra dell’indirizzo IP che risulterà nel blocco di tutti gli IP che contengono le prime tre cifre.

order allow,denydeny from 255.x.x.xdeny from 123.x.x.xallow from all

Blocking referrers (hotlink protection)

Blocking referrers, conosciuto anche come hotlink protection, è un metodo usato per bloccare certi referrers dal referenziare le risorse del tuo sito web e quindi rubare la tua banda. Usate lo snippet qui sotto per definire quali domini non possono fare riferimento al vostro contenuto e quindi riceveranno un errore 403 Forbidden.

RewriteCond %{HTTP_REFERER} unwanteddomain\.com RewriteCond %{HTTP_REFERER} unwanteddomain2\.comRewriteRule .* - 

Una funzionalità simile può essere ottenuta anche tramite la dashboard di KeyCDN. Per sapere come implementare la protezione degli hotlink nella vostra zona KeyCDN, visitate la nostra guida sui referrer di zona.

Aggiungimento di tipi MIME

I tipi MIME definiscono a cosa si riferisce una particolare estensione di file. Pertanto, a volte è necessario impostarlo nel tuo file .htaccess per informare il server web a quale tipo di file stai facendo riferimento. Per vedere una lista completa dei tipi MIME visita la MIME Types List.

AddType image/gif .gif .GIF

Sfruttare la cache del browser

Il file .htaccess può anche essere usato per aiutare a migliorare le prestazioni del sito web sfruttando la cache del browser. Ogni tipo di file può essere definito con un particolare valore di scadenza. Puoi definire una lista personalizzata di tipi di file e cambiare ogni loro valore di scadenza, tuttavia il seguente snippet è un buon punto di partenza.

## EXPIRES CACHING ##<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month"</IfModule>## EXPIRES CACHING ##

Abilitare Gzip

Abilitare Gzip sul tuo server di origine aiuta a migliorare le prestazioni delle tue risorse poiché sono compresse e quindi possono essere consegnate più velocemente. Puoi definire una lista personalizzata di tipi MIME da comprimere, tuttavia l’esempio qui sotto è un buon punto di partenza. Per saperne di più sui benefici di Gzip e su come funziona, leggi il nostro articolo Enable Gzip Compression.

<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml</IfModule>

Negare i metodi di richiesta HTTP

Ci sono diversi metodi di richiesta HTTP che vengono utilizzati per ottenere vari risultati. Se ci sono certi metodi HTTP che non vuoi che un utente utilizzi sul tuo sito web, puoi negarli con .htaccess.

RewriteCond %{REQUEST_METHOD} !^(HEAD|OPTIONS|POST|PUT)RewriteRule .* - 

Effettuare redirect 301

Se hai bisogno di eseguire un redirect 301 per una pagina che si è spostata, questo può essere facilmente ottenuto con .htaccess. Basta usare lo snippet qui sotto che prende il primo URL (vecchio link) e lo reindirizza al secondo URL (nuovo link).

Redirect 301 https://yourwebsite.com/old-page https://yourwebsite.com/new-page

Abilitare il CORS

Abilitare il CORS è cruciale per fornire risorse statiche attraverso varie origini. Il seguente snippet può essere aggiunto al tuo file .htaccess per permettere a tutte le origini di condividere le risorse. Altrimenti, se questo non è abilitato e la vostra origine richiede risorse da un’altra origine, riceverete un errore CORS. Leggi di più su CORS nel nostro articolo Come usare CORS.

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css|js|gif|png|jpe?g|svg|svgz|ico|webp)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch></IfModule>

Gli esempi .htaccess di cui sopra sono un ottimo punto di partenza per coloro che non hanno ancora familiarità con l’uso di .htaccess, ma vogliono comunque eseguire alcune configurazioni del server web. Il file .htaccess ha la capacità di eseguire una serie di compiti ed è abbastanza flessibile per soddisfare le esigenze del tuo sito web. Anche se questi esempi di .htaccess sono un ottimo punto di partenza, potresti voler eseguire alcune configurazioni .htaccess più avanzate. Per saperne di più su questo argomento considerate di controllare l’articolo della guida ai file .htaccess di AskApache.

Similar Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.