Gen 14 2008
Case insensitive in Apache
Nel caso vi capiti di dover spostare, migrare, gestire un sito web sviluppato sotto piattaforma Windows potrebbe capitare un problema dovuto alla differenza tra Windows e Linux nella gestione del case sensitive/insensitive.
Infatti se mentre sotto piattaforma Windows una URL che fa riferimento a: http://www.miosito.tld/immagine.html apre regolarmente l’eventuale file IMMagine.html, sotto Linux otterremo un bel NOT FOUND 404.
Naturalmente la soluzione drastica di sistemare tutte le URL o i nomi dei files è abbastanza complicata, lunga, laboriosa e inutile. Per ovviare al problema in apache ci viene incontro il modulo mod_speling attivo o comunque presente su quasi tutti gli apache rilasciati con le varie distribuzioni.
Per poterlo utilizzare verificate con in httpd.conf vi sia scommentata e presente la riga:
LoadModule speling_module modules/mod_speling.so
Nel caso questa riga fosse commentata, decommentatela e riavviate il server web.
Per default (giustamente) tale modulo è disattivo. Quindi sarà sufficiente definire per la directory o per il virtual host desiderato che tale modulo sia attivo. Per fare ciò è ad esempio possibile inserire queste semplici righe:
<Directory “DOCUMENT ROOT SITO WEB”>
CheckSpelling on
</Directory>
Riavviate il web server e tutto dovrebbe funzionare al meglio.
Ciao. Maxgrante
info[AT]massimo-caselli[DOT]com