L'uso di RewriteMap è solitamente ignoto (almeno per me) e la documentazione non aiuta molto a riguardo :(
RewriteMap permette di semplificare alcune righe di rewrite particolarmente ripetitive:
del tipo
RewriteRule ^sg/$ data.php?id=sg RewriteRule ^az/$ data.php?id=az RewriteRule ^ir/$ data.php?id=ir RewriteRule ^hk/$ data.php?id=hk RewriteRule ^cn/$ data.php?id=cn RewriteRule ^bd/$ data.php?id=bd
in qqcosa del tipo:
RewriteRule ^(..) ${countries:$1}
In particolare (Liberamente preso e tradotto da http://onlamp.com/pub/a/apache/2005/04/28/apacheckbk.html)
Potremmo scrivere 3 righe di rewrite e aggiungerne una nuova per ogni nuovo pesce in arrivo. Funziona, ma oltre a non essere molto elegante è anche poco efficente.
Quindi l'alternativa è data dalla creazione di un file di testo (/usr/local/apache/conf/fish.map) contenente:
carpa http://fish.net/carp.pl
trota http://fishermen.com/trout.php
balena http://moby.dick.net/great.white.cfm
trota http://fishermen.com/trout.php
balena http://moby.dick.net/great.white.cfm
quindi il file va "dato in pasto" a rewrite con la riga
RewriteMap fishmap txt:/usr/local/apache/conf/fish.map
e essere usato succesivamente con le due righeRewriteEngine On
RewriteRule ^/pesce/(.*) ${fishmap:$1} [R]
RewriteMap fishmap txt:/usr/local/apache/conf/fish.map
e essere usato succesivamente con le due righeRewriteEngine On
RewriteRule ^/pesce/(.*) ${fishmap:$1} [R]
con queste righe una chiamata a
www.miodominio.com/pesce/carpa eseguira una ridirezione su http://fish.net/carp.pl
No comments:
Post a Comment