Vi siete mai chiesti da cosa deriva il fatto che le HomePages della maggior parte dei siti internet siano rappresentate da file chiamati “index.html”, “index.php”, ecc.?
Dietro a questa convenzione non ci sono motivazioni particolari se non la comodità dell’utente di non dover digitare per intero una URL completa del filename ma di ricorrere ad una scorciatoia.
Dovendo accedere alla pagina:
http://www.claudiogarau.it/index.php
non sarà quindi necessario scrivere l’intera URL ma basterà digitare:
http://www.claudiogarau.it
del resto l’utente non è tenuto a sapere in che modo abbiamo chiamato la nostra Home e che estensione le abbiamo dato.
Così, per consuetudine si è deciso di chiamare “index” le pagine d’ingresso dei siti internet e di notificare questo dato come predefinito al Web server in modo che la conversione dell’URL (da abbreviata ad estesa) fosse automatica ed invisibile per l’utente.
Gli “index”, vengono impostati tramite la direttiva DirectoryIndex nel file httpd.conf seguendo una sintassi molto semplice che prevede la chiamata della direttiva seguita dal nome del file che dovrà svolgere le funzioni di "pagina di default" della DocumentRoot.
Visualizzando il file di configurazione di Apache, troveremo sicuramente già impostate una lunga serie di possibili pagine “index” complete di estensioni:
DirectoryIndex index.html index.shtml index.php
Naturalmente, nulla ci vieta di impostare a piacere il nome della nostra Home intervenendo sull’apposita voce.
Ad esempio potremmo decidere che la nostra pagina di default sia rappresentata dal file "pippo.html". In tal caso dovremo impostare come segue:
DirectoryIndex pippo.html
Quando nella DocumentRoot non è presente una pagina “index”, può verificarsi il fenomeno del Directory listings, in questo caso infatti il Web server non trovando una pagina d’ingresso restituisce una lista delle risorse contenute all’interno della directory.Il Directory listings può essere voluto, come in quei siti che vengono messi in piedi semplicemente per consentire il download di determinati file tramite link; diversamente il Directory listings può essere involontario perchè il Webmaster non crea una pagina Home con uno dei nomi inseriti in httpd.conf, oppure, dimentica di passare il nome della propria pagina home come parametro a DirectoryIndex. Naturalmente non verrà prodotto alcun elenco se la necessaria direttiva non verrà abilitata.
In caso di Directory listings involontario, il problema sarà facilmente risolvibile inserendo nella DocumentRoot un file (anche vuoto) recante un nome indicato in httpd.conf o aggiungendo un nome seguito da una estensione valida in corrispondenza di DirectoryIndex.
Il Directory listings, produce quindi in all’alternativa all’HomePage un semplice documento Html recante una lista dei file presenti nella DocumentRoot che saranno a cui si potrà accedere tramite link. Questo fenomeno è reso possibile da un modulo chiamato “mod_autoindex”. La visualizzazione del “listing” è configurabile tramite alcune voci:
- HeaderName: consente di indicare il nome di un file da visualizzare automaticamente come “header” precedentemente alla lista delle risorse.
- IndexOptions: permette di impostare la visualizzazione dei contenuti, compresa la possibilità di nascondere particolari che non si vogliono rendere visibili.
- IndexIgnore: consente di non mostrare certi tipi di file interni alla directory.
- AddDescription: consente di descrivere determinati file.
- Addalt: associa il tag “alt” a determinati file.
- AddIcon: associa un’icona a determinati file.
- AddAltByType: consente di associare il tag “alt” a determinati file sulla base della loro tipologia.
- AddIconByType: consente di associare un’icona a determinati file sulla base della loro tipologia.
- AddAltByEncoding: consente di associare il tag “alt” a determinati file sulla base del “MIME Encoding”.
- AddIconByEncoding: consente di associare un’icona a determinati file sulla base del “MIME Encoding”.
- DefaultIcon: indica un’icona predefinita da mostrare quando non è stata associata alcuna icona ad un tipo di file.