--> (Word) | --> (PDF) | --> (Epub) | --> (Text) |
--> (XML) | --> (OpenOffice) | --> (XPS) | |
.htaccess (hypertext access) è il nome che normalmente prende il file di configurazione delle directory di Apache. E’ chiamato con il punto perchè generalmente i file di sistema nascosti nei sistemi operativi Unix sono denominati con il punto davanti (i cosiddetti dot files).
Che cosa mi permette di fare?
Le operazioni che generalmente sono eseguite con questo tipo di file sono:
Dove posso inserirlo?
I file .htaccess sono inseribili in qualsiasi directory del web server e le impostazioni di ciascun file vengono applicate alla directory dov’è posizionato e alle sue sottodirectory.
Posso cambiare il nome al file .htaccess?
Sì, è possibile cambiare il nome del file usando la direttiva AccessFileName nel file httpd.conf.
Per ridenominarlo .urlwriting basta inserire la seguente riga di codice:
AccessFileName .urlwriting
Come posso impostare la pagina 404 personalizzata?
Bisogna impostare all’interno del file .htaccess una riga di codice del tipo:
ErrorDocument 404 http://www.miosito.it/pagina-404.html
Come posso personalizzare l’accesso alle cartelle con .htaccess?
E’ necessario impostare alcune direttive all’interno del file in grado di istruire il web [gs server] a gestire gli accessi in modo personalizzato.
Questo è un esempio di autenticazione regolata da .htaccess con l’ausilio dei file di configurazione utente (/www/passwords/password.file) e gruppi (/www/passwords/group.file).
AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins
Sottolineo che l’uso di .htaccess per personalizzare l’autenticazione tramite [gs password] appare forzata sia per questioni di sicurezza, sia per questioni di performance del server.
Come posso riscrivere le URL?
L’URL rewriting viene implementato con l’ausilio di 4 direttive:
Per gestire in modo corretto l’URL rewriting è bene avere dimestichezza con la sintassi delle espressioni regolari.
Alcuni esempi di URL rewriting frequenti:
#Redirige con status 301 tutte le URL di forma miosito.com/* in www.miosito.com/*
RewriteCond %{HTTP_HOST} ^miosito\.com
RewriteRule ^(.*)$ http://www.miosito.com/$1 [R=301,L]
#Redirige con un 302 tutte le richieste da pagine HTML a pagine php
RewriteRule (.*).htm$ /$1.php [R=301,L]
#regola per eliminazione problema del trailing slash sulle URL a cartella
RewriteRule ^/directory$ directory/ [R=301,L]
#regola per eliminare la pagine con il solo parametro id all'interno
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^/web(.+)$ /web/? [R=301,L]
#regola per redirigere le richieste HTTP a seconda degli orari del giorno
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900
RewriteRule ^file\.html$ file-giorno.html
RewriteRule ^file\.html$ file-notte.html
#regola per fornire contenuti diversi a seconda dello user agent
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.*
RewriteRule ^file\.html$ file.mozilla3.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Googlebot/.* [OR]
RewriteRule ^file\.html$ file.meglio-non-fare-questo-cloaking.html [L]
#Regola per trasformare URL statiche in URL dinamiche con redirezione 302
RewriteRule ^notizia/(.*)_([0-9]+).html$ notizia/?id=$2 [L]
SOURCE | LINK (andreavit.com) | LANGUAGE | ITALIAN |