X
    Categories: Tutorial

Piccolo vademecum al .htaccess

Chi lavora con Apache conosce benissimo l’utilità del .htaccess. Questo file serve per impostare alcuni comportamenti del server.
Qui di seguito un piccolo vademecum delle impostazioni più utilizzate

Abilitare la navigazione nella directory

Options +Indexes
## bloccare alcuni tipi di file
IndexIgnore *.wmv *.mp4 *.avi

Disabilitare la navigazione nella directory

Options All -Indexes

Disabilitare l’hotlinking (le immagini o le altre risorse prelevate dal proprio sito)

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?miodominio.com/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ – [F]

Pagine di errore personalizzate

ErrorDocument 400 /errori/richiestaerrata.html
ErrorDocument 401 /errori/autorizzazionerichiesta.html
ErrorDocument 403 /errori/paginavietata.html
ErrorDocument 404 /errori/paginanontrovata.html
ErrorDocument 500 /errori/erroredelserver.html

Cambiare l’ordine di priorità di pagina

DirectoryIndex primapagina.htm index.htm index.php

Bloccare un utente tramite IP o dominio

order deny,allow
deny from 123.456.789.00
deny from 123.456.789.00
deny from .specificodominio.com
allow from all

Bloccare utenti provenienti da specifici siti (deve essere abilitato il modulo mod_rewrite)

RewriteEngine on
RewriteCond %{HTTP_REFERER} sitodabloccare.com [NC]
RewriteCond %{HTTP_REFERER} sitodabloccare2.com [NC]
RewriteRule .* – [F]

Bloccare specifici bot di siti (deve essere abilitato il modulo mod_rewrite)

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^botricerca1 [OR]
RewriteCond %{HTTP_USER_AGENT} ^botricerca2 [OR]
RewriteCond %{HTTP_USER_AGENT} ^botricerca3
RewriteRule ^(.*)$ http://www.altrosito.com/

Redirezionare la navigazione

es. Redirect 302 /unadirectory http://www.sito.com/altradirectory

permanent (301) – La risorsa è stata spostata definitivamente
temp (302) – La risorsa è stata spostata temporaneamente
seeother (303) – La risorsa è stata sostituita
gone (410) – La risorsa è stata rimossa. In questo caso l’indirizzo di destinazione non va indicato

Sergio Gandrus: Da febbraio 2024 lavoro come CTO presso Deva Connection Il mio stack è PHP/MySQL/Git/Docker. Lavoro con Agile (Scrum) e utilizzo principalmente AWS come cloud provider. Sono papà e marito. Nel tempo libero mi piace leggere, il buon vino e viaggiare.

View Comments (4)

  • Ragazzi, un piccolo supporto...
    Se io usassi il redirect 301 come illustrato da Fox, potrei forse addirittura cambiare in modo indolore il dominio del sito?
    Esempio...
    Redirect 301 http://www.sito1.it/ http://www.sito2.it/
    Che ne dite?

  • @DoZ

    il 301 è quello che fanno anche i big quando cambiano brand e, consequenzialmente, anche il nome a dominio.
    Quindi credo sia la soluzione più 'pulita'