Gen 14 2008

Case insensitive in Apache

Published by maxgrante at 18:57 under Apache, Webserver, Opensource World

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

6 Responses to “Case insensitive in Apache”

  1. Chrison 18 Gen 2008 at 21:12

    Interessante,avevo notato questo “problema” con le estensioni delle foto: jpg e JPG vengono valutate diversamente su un sistema linux.

  2. maxgranteon 19 Gen 2008 at 16:07

    Penso sia per altro possibile utilizzare mod_speling anche attivando a livello di .htaccess su hosting condivisi tipo aruba etc…

  3. Chrison 04 Feb 2008 at 20:51

    Ah Questa del mod_speling mi è nuova! Grazie per l’info ;)

  4. maxgranteon 05 Feb 2008 at 10:08

    De nada… carino mod_speling… ;)

  5. Goldrakeon 27 Mag 2008 at 04:22

    Grazie tante per il tuo consiglio, non conoscevo questo modulo. In passato avevo ovviato banalmente montando la drectory del server come risorsa di samba. La qualcosa mi dava tanto fastidio. Adesso che lo so….. Leggendo il modulo ho trovato che nella release 2.2 di apache questo modulo ha due direttive: una per il controllo esclusivo delle differenze tra maiuscole e minuscole, l’altra per l’eventuale ricerca di nomi di file scritti sbagliati. Evidentemente la seconda influisce sulle performance del sito. Ancora Grazie e Saluti

  6. maxgranteon 27 Mag 2008 at 08:57

    Ciao Goldrake,
    di nulla figurati!

    A presto.

    Ciao. Max

Trackback URI | Comments RSS

Leave a Reply