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