I cookie permettono il funzionamento di alcuni servizi di questo blog. Utilizzando questi servizi, accetti l'utilizzo dei cookie da parte nostra. Ok Rifiuta

Attenzione: a breve questo blog verrà dismesso e sarà attivo il nuovo a questo indirizzo.

Come gestire il flusso di visite in un sito web con .htaccess

Capita spesso in un sito web di dover redirigere o limitare gli accessi effettuati dagli utenti a un sito Internet. Tale esigenza può derivare da una manutenzione di un sito web oppure dalla necessità di segnalare un sito in costruzione. Nei server che montano Linux, per regolare il comportamento del flusso di visite di un sito web, è possibile sfruttare un file chiamato .htaccess che è utile anche ad evitare attacchi crackers.

Dentro di esso si possono implementare tutte le regole per gestire il flusso, come descritto sotto:

Mettere un sito in manutenzione

Spesso è necessario mettere in manutenzione un sito e quindi occorre che il sito non sia accessibile a nessuno tranne a un indirizzo IP (di solito del web developer). Con queste righe si può realizzare una cosa del genere:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !109.54.55.230 #unico ip che può passare alla index
RewriteCond %{REQUEST_URI} !^/css/.* #sblocco cartelle
RewriteCond %{REQUEST_URI} !^/img/.*
RewriteRule ^(.*)$ maintenance.php [QSA,L] #pagina di manutenzione

Cambiare la index di default

Per sicurezza potrebbe essere necessario cambiare la propria pagina index sul server, magari non chiamandola index ma intro o in un altro modo a piacere. Questo si può attuare scrivendo:

DirectoryIndex intro.php

Tecniche SEO

Un sito può essere indicizzato con o senza il prefisso www. Obiettivo questo, che può essere realizzato con poche righe di codice in questo modo.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.queness.com [NC]
RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301]

Errore personalizzato


Spesso i web developers vogliono gestire alcuni tipi di errori più comuni tramite pagine molto più belle esteticamente (magari in linea con la grafica del sito) piuttosto che con scritte nere di default dei servers. Per redirigere un errore a una specifica pagina possiamo scrivere:


ErrorDocument 404 /error/404.php
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 500 /error/500.php


Bloccare l'accesso a determinati tipi di files


Questo è il codice più utilizzato dagli sviluppatori. Con questo si può impedire l'accesso a determinati tipi di file mediante le loro estensioni:
 
# impedisci accesso a htaccess file
<Files .htaccess>
order allow,deny
deny from all
</Files>
 
# file di vario tipo
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
Order Allow,Deny
Deny from all
</FilesMatch>
 
# non visualizzare un singolo file
<Files image.jpg>
order allow,deny
deny from all
</Files>
 
Bloccare utenti provenienti da un dominio
 
Può risultare utile a volte non permettere la visualizzazione del sito a utenti che provengono da un dato dominio. Ciò è possibile tramite le istruzioni:
 
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} esempio.com [NC,OR]
RewriteCond %{HTTP_REFERER} dominiobrutto.com [NC,OR]
RewriteRule .* - [F]
 
</ifModule>

I più letti

Seguici su Facebook

Seguici su Google+

Renzo Cappelli

miafoto

Sono un appassionato di informatica, mi dedico allo sviluppo web e alla gestione dei sistemi web-based: realizzo siti e progetto software gestionale per privati e aziende. Ho tanta passione per tutto quello che riguarda il web e le nuove tecnologie, lavoro bene in team e collaboro con aziende e professionisti di settore.

Commenti

NON CI SONO ANCORA COMMENTI.

Lascia il tuo commento