Regole di Rewrite utili per siti web

ATTENZIONE: questo articolo è più vecchio di un anno, e potrebbe non essere più attuale, sei pregato di tenerne conto.

permalinkAbbiamo già incrociato i RewriteRule per i permalink di WordPress, quando si trattava di capire qual’era l’URL più utile e amichevole da utilizzare per un blog gestito con il noto CMS.

Questo promemoria riguarda invece gli utilizzi più frequenti delle regole di RewriteRule su un sito web, indipendentemente dal fatto che si utilizzi un CMS o meno, l’unica condizione è di utilizzare Apache e di avere il modulo Rewrite attivo (lo è di default).

Le regole di Rewrite possono essere scritte nel file di configurazione di Apache (sconsigliabile), nel file di configurazione del virtualhost (già meglio ma non il massimo), oppure in un file .htaccess situato nella directory principale del sito, soluzione da preferire per praticità.
Se non esiste, creiamo il file di testo .htaccess e come prime righe ci scriviamo:

# Inizio .htaccess
RewriteEngine On
RewriteBase /

Ora siamo pronti per inserire tutte le istruzioni che ci servono. Molte sono utili per ottimizzare l’indicizzazione del sito nei motori di ricerca, altre invece sono importanti per impedire abusi o limitare l’utilizzo di certe risorse, ma si possono anche correggere errori causati da pagine, cartelle e sottodomini non più disponibili.

Come in qualsiasi file di configurazione di Apache, se vogliamo scrivere di tanto in tanto dei commenti, che potrebbero tornarci utili, basta iniziare la riga con un cancelletto (#).

Possiamo ad esempio reindirizzare tutte le richieste da miosito.it a www.miosito.it, in modo da non penalizzare l’indicizzazione ed evitare contenuti duplicati.
Per fare questo basta aggiungere queste istruzioni:

# Reindirizzamento da miosito.it a www.miosito.it
RewriteCond %{HTTP_HOST} ^miosito.it [NC]
RewriteRule ^(.*)$ http://www.miosito.it/$1 [L,R=301]

Abbiamo cambiato il nome ad una directory, da www.miosito.it/cartella1/ a www.miosito.it/cartella2/?
Nessun problema, questa semplice regoletta risolve tutto:

# Reindirizzamento da cartella1 a cartella2
RewriteRule ^/cartella1/(.*) http://www.miosito.it/cartella2/$1 [R=301,L]

Infine, possiamo evitare che le immagini del nostro sito possano essere indebitamente visualizzate su altri siti, il famigerato HotLinking, aggiungendo al danno la beffa di rubarci pure la preziosissima banda:

# Evitare Hotlinking
RRewriteCond %{HTTP_REFERER} !^http://(.+\.)?miosito\.it/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule \.(jpe?g|gif|bmp|png)$ http://www.miosito.it/cuccato.png [L]

La regola come nell’esempio qui sopra funziona con i file con estensione gif, jpg, png, jpg e jpeg, e al posto delle immagini mostra una immagine realizzata ad arte, il file cuccato.png situato nella radice del nostro sito (il contenuto è a vostra discrezione…).

Con la giusta sintassi, e l’ausilio delle [W:espressioni regolari], è facile immaginare che le potenzialità e gli utilizzi del Rewrite e delle regole RewriteRule sono praticamente infinite, nei prossimi articoli ne vedremo delle altre.

Qualsiasi commento, correzione,  o esempio di utilizzo delle RewriteRule è ovviamente particolarmente gradito 😉

Che ne pensi?
Domande? Suggerimenti?
Lascia un commento…

Condividi se ti è piaciuto!

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su whatsapp

Maggori informazioni:

Roberto Rota

Roberto Rota

Libero professionista, un "artigiano del web", lavoro nella comunicazione in rete da quando esiste Internet. Mi occupo principalmente di assistenza su WordPress e assistenza e consulenza WooCommerce, seguo la realizzazione di progetti web, in particolare siti di e-commerce, visibilità e comunicazione in rete. Il mio curriculum è su Linkedin, e mi puoi trovare anche su Instagram, FaceBook e Twitter.

CONTRIBUISCI A QUESTO SITO
Se il mio lavoro ti è stato di aiuto,
e vuoi che io continui a publbicare,
contribuisci allo sviluppo di questo sito
con una donazione su PayPal.

2 commenti su “Regole di Rewrite utili per siti web”

  1. Pingback: √ Prevenzione errori 404 e motori di ricerca

  2. Pingback: √ La struttura migliore per i permalink di WordPress | Roberto Rota

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Cerca nel sito:

Assistenza specializzata WordPress e WooCommerce

Altri articoli

Mandami un messaggio

Ciao, come posso aiutarti?