I web server Apache hanno un ottimo e pratico modo di manipolare e gestire le informazioni sfruttando il file .htaccess che consente una gestione decentrata della configurazione del server web.
Ne abbiamo già parlato un pò a sprazzi presentando anche uno strumento molto utile per gestirlo, ma in questo articolo cercherò di darvi qualche consiglio al fine di creare un file .htaccess utile al vostro scopo e, soprattutto, cercherò di far comprendere quante impostazioni é possibile mettere in atto agendo solo su questo file ed evitando plugin o codice inutile.
Pagina di errore 404
La pagina di errore 404 è una speciale pagina che consente di avvertire il visitatore di questo errore. Siccome, di default potrebbe essere impostata dall’hosting oppure non essere una pagina molto esplicativa, sarebbe bene creare una pagina specifica e definita per il proprio blog in modo da rendere meno ‘amaro’ l’impatto al visitatore che, fondamentalmente, non trova ciò che si aspettava. Come reindirizzare l’utente a questa specifica pagina da noi creata? Agendo sul file .htaccess é questione di pochi secondi :
ErrorDocument 404 www.mioblog.com/errore.html
dove errore.html é la pagina personalizzata da voi creata appositamente. Stesso identico procedimento per personalizzare altre pagine di errore come il 401, il 500 ecc
Impostare un Redirect 301
Qualora vogliate, per qualsiasi motivo, effettuare un redirect di una qualsiasi pagina web verso un’altra, ecco come farlo semplicemente passando per .htaccess :
Redirect 301 /old/file.html http://yourdomain.com/new/file.html
Impostare il Redirect verso una connessione https
Se volete reindirizzare l’intero sito o blog verso una connessione sicura https, potete utilizzare le seguenti righe :
RewriteEngine On RewriteCond% {HTTPS}! Su RewriteRule (.*) https: / /% {HTTP_HOST}% {REQUEST_URI}
Bloccare script di esecuzione
Potete decidere di bloccare, anche in questo caso i motivi possono essere molteplici, l’esecuzione di alcuni script sulle pagine del vostro blog o sito. Eccovi in due righe come impostarlo da .htaccess :
Opzioni-ExecCGI AddHandler cgi-script. Pl. Py. Php. JSP. htm. shtml. sh. asp. cgi
Logicamente potete scegliere liberamente l’estensione degli script che desiderate bloccare.
Forzare il download di un file
Supponiamo vogliate forzare qualcuno a scaricare un tipo di file invece di aprirlo direttamente nel loro browser. Ecco il codice da utilizzare :
AddType application / octet-stream. Doc. Mov. Avi. Pdf. Xls. Mp4
dove potete aggiungere tutte le estensioni di file che desiderate.
Limitare l’upload dei file
Se sul vostro blog consentite l’upload di fie tramite php, è possibile e consigliabile limitare la dimensione massima del file da caricare nonché il tempo massimo di esecuzione per evitare spiacevoli problemi lato server. Basta aggiungere queste righe :
php_value upload_max_filesize 10M php_value post_max_size 10M php_value max_execution_time 200 php_value max_input_time 200
La prima riga specifica la dimensione massima del file da caricare, la due è la dimensione massima per i dati in post, la tre è il tempo massimo in secondi in cui uno script può essere eseguito prima che sia terminato e la quattro è la massima quantità di tempo in secondi di uno script in cui è permesso di analizzare i dati di input.
Abilitare caching dei file
L’attivazione del caching dei file può migliorare notevolmente le prestazioni del vostro sito ed ha come conseguenza un miglioramento evidente della velocità di caricamento delle pagine. Anche se esistono vari modi e plugin per farlo, potrete centralizzare la gestione della cache a livello di htaccess e utilizzare il seguente codice modificando sia i vari tipi di file e i valori di tempo relativi così da soddisfare le esigenze del vostro sito :
# Cache HTML e file htm per un giorno
<FilesMatch “. (html | htm) $” >
Impostazione intestazione Cache-Control “max-age = 43.200″
</ FilesMatch>
# Cache css, javascript e file di testo per una settimana
<FilesMatch “. (js | css | txt) $” >
Impostazione intestazione Cache-Control “max-age = 604.800″
</ FilesMatch>
# Cache flash e immagini per un mese
<FilesMatch “). (flv | swf | ico | gif | jpg | jpeg | png $” >
Impostazione intestazione Cache-Control “max-age = 2592000″
</ FilesMatch>
# Disattivare la cache per i file di script
<FilesMatch “\. (pl | php | cgi | spl | scgi | fcgi) $” >
Intestazione unset Cache-Control
</ FilesMatch>
Come avrete capito, il valore dei max-age é espresso in secondi.
Prevenire l’hotlinking
Si chiama hotlinking e ne avevo già accennato qualcosa a proposito di contenuti e plagio. Direi che farsi ‘rubare’ banda non è mai piacevole anche perché stanno sfruttando una nostra risorsa (immagine, file multimediale ecc) e, soprattutto, a nostra insaputa. Per prevenire tutto questo, è possibile agire direttamente sul file htaccess per bloccare l’hotlinking :
RewriteEngine On
RewriteCond% {HTTP_REFERER}! ^ $
RewriteCond% {HTTP_REFERER}: ^! Http ([--z0-9] \.)? un dominio / \. / com [CN]
RewriteRule \ (gif | jpe g | png?) $ – [F, NC, L].
Logicamente dovrete intervenire nel codice qui sopra per modificare il .com oppure aggiungere estensioni che volete bloccare. In tal modo, copiando e incollando l’url di un’immagine .gif, ad esempio, del vostro blog, il ‘ladro’ non visualizzerà nulla perché tutto risulta bloccato.
Aggiungere nuovi MIME Types
Il MIME Type specifica il tipo di dati che vengono trasferiti attraverso il protocollo HTTP o SMTP. Le estensioni di file non riconosciute sono trattate come testo semplice oppure e il download risulterà corrotto a meno che non si specifichi l’estensione nel file htaccess :
AddType application/x-endnote-connection enz AddType application/x-endnote-filter enf AddType application/x-spss-savefile sav
Prevenire il browsing delle directories
Se non esiste una index page nelle directories interne al vostro sito o blog, ciascun visitatore potrebbe sbirciare al loro interno senza problemi. Anche se alcuni servers sono configurati al fine di prevenire il ‘directory browsing’, potete comunque andare sul sicuro con la seguente istruzione da inserire nel vostro htaccess :
Options All -Indexes


