Ionic Isapi Rewrite Filter (IIRF) e Joomla 1.0.x
In questi giorni, per un sito amatoriale che ho contribuito a creare, mi sono incapponito nel voler attivare la modalità “search-engine friendly” di joomla. Ovviamente da buon CMS open-source l’unico supporto ufficiale ed immediato è per la mod_rewrite di Apache cosa di cui non dispongo perchè utilizzo IIS 6.0 e sul server Windows 2003 su cui lavoro è disponibile solo Ionic Isapi Rewrite Filter (IIRF).
Ipotizzando che chi legge quest’articolo sappia come installare questo filtro ISAPI mi soffermo solamente sulla parte che riguarda la configurazione di Joomla 1.0.x ed eventuali modifiche da fare al suo codice:
- Prima di tutto creare nella root del sito di cui si desidera gestire la funzione “search-engine friendly” un file dal nome “iirf.ini” e copiarci dentro il seguente contenuto (sostanzialmente è lo stesso del file .htacess.txt con pochi ritocchi)
##########################################
- Terminata questa prima fase entrare nell’area amministrativa di Joomla e attivare tra le impostazioni globali del sito la funzione “search-engine friendly url”. E’possibile trovarla nella linguetta “SEO”
- A questo punto, dopo aver cancellato la cache dei contenuti per essere sicuro che tutte le modifiche siano state applicate è possibile già notare come il com_content dovrebbe già funzionare. Purtroppo gli altri componenti generano degli errori.
- Per risolvere il problema dei componenti non-SEF è necessario aprire il file “joomla.php” che si trova nella cartella “includes” del sito. Attorno alla riga 91 dovreste trovare una dicitura simile a questa:
##########################################
………
if ( isset( $_SERVER['REQUEST_URI'] ) ) {
$request_uri = $_SERVER['REQUEST_URI'];
} else {
………
##########################################
- Sostituite il testo sopra con la dicitura:
##########################################
………
if ( isset( $_SERVER['HTTP_X_REWRITE_URL'] ) ) {
$request_uri = $_SERVER['HTTP_X_REWRITE_URL'];
} elseif ( isset( $_SERVER['REQUEST_URI'] ) ) {
$request_uri = $_SERVER['REQUEST_URI'];
} else {
………
##########################################
- Il gioco è fatto, ora finalmente avrete tutto il sito funzionante in modalità “search-engine friendly”. Ovviamente sarà da controllare bene il funzionamento dei componenti perchè alcuni di terza parti non supportano appieno questa modalità di funzionamento e potrebbero generare delle url errate (con conseguente errore 404).
Spero di esservi stato utile, forse non è la migliore soluzione possibile, ma per lo meno funziona!!!

Hi, this is a really useful site. I have found it to be really informative and it has helped me a lot. Great work. I will definitely be coming back for more of your awesome tips. I also like blogging myself about jailbreak iPad. I hope you find my tips useful.