htaccess
I file .htaccess, un file di testo, generalmente inserito nella cartella root, utile a fornire
informazioni e direttive ad Apache su come gestire directory e file con estensioni specifiche.
Htaccess pu essere creato e modificato con i classici editor di testo come notepad per windows
oppure nano, pluma o gedit su linux. Con htaccess potere gestire errori personalizzati, proteggere
con password, bloccare IP e siti referenti, bloccare bots, gestire redirects, impedire il linking di
immagini, limitare luso di directory ecc.
Come funziona htaccess
Il funzionamento molto semplice: quando Apache riceve una richiesta, prima di eseguirla,
controlla se esiste un file htaccess e in tal caso legge le informazioni contenute in modo da
rispettare le direttive al suo interno. Ricordate di impostare i permessi CHMOD 644 (RW-R-R-) in
tal il modo date la possibilit di lettura al server ma allo stesso tempo impedite la lettura da parte dei
browser, utile per non compromettere la sicurezza.
Impostazioni e direttive
Prima di procedere eseguite sempre una copia di backup, in quanto potreste incontrare errori
server!
Il FilesMatch comprende la lista della tipologia di file da memorizzare rappresentata dalle loro
estensioni
Redirect 301 permanenti
Chiamato anche redirect permanente, codice HTTP 301 "Moved Permanently", indica agli spider
che l'url richiesto stata trasferito in modo permanente verso un nuovo indirizzo. Molto utile per
evitare che gli spider continuino a visitare la pagina precedente. Inoltre in ambito SEO permette di
spostare un dominio o semplicemente una pagina evitando di perdere il potere (Trust e Rank)
acquisito nel tempo
# Gestione redirect 301
Redirect 301 http://www.nomedominio.com/home http://www.nomedominio.com
Da www a senza www
Una cosa molto importante in ambito SEO evitare contenuti e pagine duplicate. Un esempio
pratico la possibilit di raggiungere la home del sito con due diversi indirizzi:
http://www.nomesito.com
http://nomesito.com
Per evitare questo errore ricorriamo a questo comando nel file htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.nomesito.com [NC]
RewriteRule ^(.*)$ http://nomesito.com/$1 [L,R=301]
In questo caso quando aprire la pagina http://www.nomesito.com verr re-indirizzata a
http://nomesito.com. Ovviamente possiamo anche invertire e impostare il www come predefinito.
Bloccare determini IP
Se invece volete bloccare direttamente un IP, utile nel caso sia una macchina quindi con pi
domini, utilizzate queste stringa
# Blocca ip
order allow,deny
deny from 123.45.6.7
deny from 012.34.5.
allow from all
Modificate il range di IP secondo le vostre esigenze, possibile negare laccesso basato su indirizzo
IP o un blocco IP. I blocchi di cui sopra laccesso al sito da 123.45.6.7, e da qualsiasi dominio sub
sotto il blocco IP 012.34.5. (012.34.5.1, 012.34.5.2, 012.34.5.3, ecc).
Cambiare la pagina index
E' possibile cambiare la pagina di apertura del sito da index.html, index.php ecc... con qualsiasi
altro nome.
# Cambiare index
DirectoryIndex nomesito.html
Abilitare la Cache
Fai memorizzare i files nella cache in modo da ottimizzare i tempi di caricamento.
# Impostata la cache dei file multimediali a 6 mesi
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A1552000
Header append Cache-Control "public"
# Impostata la cache delle immagini a 2 settimane
<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault A1209600
Header append Cache-Control "public"
I tempi della durata della cache espressa in secondi, quindi un ora pari a 3600 secondi. Potete
modificare la durata in base alle nostre esigenze ed anche la tipologia dei file
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>