Вы находитесь на странице: 1из 4

Cos un file .

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.

Pagine di errore personalizzate


Ci capita spesso di raggiungere un sito e trovare scritta ERRORE 404 PAGINA NON TROVATA.
L'errore 404 solo uno dei codici di stato del protocollo HTTP (trovate un articolo in questo sito
dedicato). Questi errori oltre a non essere visti di buon occhio dai motori di ricerca, fanno perdere
visite e utenti interessati ai vostri contenuti. Quindi utile creare delle pagine personalizzate per far
si che i visitatori non abbandonino definitivamente il sito.
Create una pagina di errore personalizzata e inserite nel file htaccess una riga per ogni pagina creata
Esempio di 3 pagine di errori diversi (ma potete crearne anche solo una per il 404 oppure di pi un
base alle vostre esigenze)
# Pagina errore personalizzata
ErrorDocument 400 /errors/400.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

Blocca i visitatori provenienti da un determinato dominio


A volte pu essere necessario bloccare il traffico da uno o pi domini perch traffico spam o
comunque non desiderato.
# Blocca i visitatori provenienti dai domini indicati
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} nomesito1.com [NC,OR]
RewriteCond %{HTTP_REFERER} nomesito2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>

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

Disabilitare la cache per alcuni tipi di files


Al contrario potete disabilitare la cache per permettere ad alcuni file di aggiornarsi frequentemente
e non vengano memorizzati.
# Disabilita la cache
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
COMPRESSIONE SITO WEB
La compressione dei file in un sito web, in particolare i file di testo, con mod_gzip o mod_deflate su Apache
oltre a far risparmiare molta banda, in particolar modo nei siti grossi con molte visite, permette anche di
velocizzare il caricamento delle pagine anche del 50%! La maggior parte dei server web in grado di
comprimere i file in formato gzip ma non detto che tutti supportino tale funzione. Per controllare se la
pagina web compressa o meno potete utilizzare questo tool online:
http://www.gidnetwork.com/tools/gzip-test.php
Abilitare la compressione dei file con mod_DEFLATE
# Deflate compressione css, testo ecc
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/javascript

Abilitare la compressione usando mod_GZIP

<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>

Disattivare gli ETags

# Disattiva gli ETags


<IfModule mod_headers.c>
Header unset ETag
</IfModule>

Вам также может понравиться