Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Guida pratica al modulo Rewrite in Apache

Articolo scritto da Claudio Garau
Pagina 4 di 4

4. Alcuni esempi di Rewrite delle URL

Un esempio estremamente semplice di riscrittura delle URL potrebbe essere il seguente in cui il nome di un vecchio file non più esistente viene utilizzato come mascheramento per raggiungere un nuovo file nuovo:

RewriteEngine on
RewriteRule ^old\.html$ new.html [L]
Come è possibile notare, all'interno delle regole utilizzate sono stati introdotti alcuni caratteri speciali: Volendo esaminare esempi più raffinati, è possibile introdurre il discorso riguardante l'utilizzo delle espressioni regolari, queste infatti consistono in una serie di caratteri sostitutivi (ne abbiano visto alcuni in precedenza) che ci permettono di utilizzare una sola regola di riscrittura per più file (riscrivere manualmente tutte le URL di un portale composto da centinaia se non migliaia di pagine sarebbe infatti un'impresa abbastanza ardua!).

Facciamo l'esempio di voler mascherare un'URL tipo "prodotti.php?prodID=2" nella più semplice "prodotti/2/", le regole necessarie per il nostro .htaccess potranno essere scritte in questo modo:

RewriteRule ^prodotti/([0-9]+)/$ /prodotti.php?prodID=$1
Di seguito alcune osservazioni relative al nostro esempio: Se la nostra URL richiedesse più di un solo parametro, ovviamente, si utilizzerebbero diverse parentesi tonde a sinistra e le si richiamerebbe a destra mediande il ricorso a diversi simboli di dollaro seguiti da numeri progressivi ($1, $2, $3, ecc.) corrispondenti alle parentesi di sinistra. Di seguito un esempio:
RewriteRule ^prodotti/([0-9]+)/([0-9]+)/$ /prodotti.php?catID=$1&prodID=$2
Naturalmente i valori passati come parametri alle variabili possono anche essere delle stringhe: in questo caso utilizzeremo le espressioni [a-z] (per i caratteri minuscoli), [A-Z] (per i caratteri maiuscoli) o [A-Za-z] (per qualsiasi carattere sia esso minuscolo o maiuscolo).
Per fare un esempio si supponga di dover riscrivere una URL del tipo "http://www.sito.it/articoli.php?cat=sport&id=1" in "http://www.sito.it/articoli/sport/1.html;
RewriteRule ^/articoli/([a-z]+)/([0-9]+).html /articoli.php?cat=$1&id=$2 [L]
Quelle visti qui sopra, ovviamente, non sono che una minima parte delle potenzialità offerte dal modulo mod_rewrite, non mi resta quindi che invitarvi ad approfondire l'argomento in attesa di un nuovo articolo dedicato a questo fantastico modulo di Apache.

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. Sconto -25% sino al 23/05/2012.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122