Bekijk Volledige Versie : [Apache] eigen directory listing
Ik vind de standaard directory listing van Apache ("Options Indexes")
nogal lelijk. Daarom heb ik mijn eigen php-bestand geschreven dat de
bestanden/subdirectories netjes opsomt.
Hoe zorg ik ervoor dat Apache dit bestand gaat gebruiken voor elke
directory zonder index.html/index.php ?
bvd,
Boudewijn.
Edwin Martin
19/10/04, 01:55
Boudewijn wrote:
> Ik vind de standaard directory listing van Apache ("Options Indexes")
> nogal lelijk. Daarom heb ik mijn eigen php-bestand geschreven dat de
> bestanden/subdirectories netjes opsomt.
>
> Hoe zorg ik ervoor dat Apache dit bestand gaat gebruiken voor elke
> directory zonder index.html/index.php ?
De directory listings in Apache worden gemaakt met de module mod_autoindex.
Zie hier alle mogelijkheden:
http://httpd.apache.org/docs/mod/mod_autoindex.html
Een dergelijke module is gewoonlijk geschreven in de taal C, dus of PHP
hier een goede oplossing is, betwijfel ik.
Een andere oplossing is om mod_rewrite te gebruiken. Je kunt dan opgeven
dat elke URL die met een '/' eindigt, door jouw PHP-script verwerkt moet
worden.
http://httpd.apache.org/docs/misc/rewriteguide.html
Edwin Martin
--
http://www.bitstorm.org/
Daniel Tryba
19/10/04, 02:05
Boudewijn <me@privacy.net> wrote:
> Ik vind de standaard directory listing van Apache ("Options Indexes")
> nogal lelijk. Daarom heb ik mijn eigen php-bestand geschreven dat de
> bestanden/subdirectories netjes opsomt.
>
> Hoe zorg ik ervoor dat Apache dit bestand gaat gebruiken voor elke
> directory zonder index.html/index.php ?
http://httpd.apache.org/docs/mod/mod_dir.html
Alternatief is natuurlijk de rewrite engine icm met bv een 404 handler.
--
Daniel Tryba
Jan Ehrhardt
19/10/04, 02:25
Boudewijn in nl.internet.www.server-side (Mon, 18 Oct 2004 19:34:18
+0200):
>Ik vind de standaard directory listing van Apache ("Options Indexes")
>nogal lelijk. Daarom heb ik mijn eigen php-bestand geschreven dat de
>bestanden/subdirectories netjes opsomt.
>
>Hoe zorg ik ervoor dat Apache dit bestand gaat gebruiken voor elke
>directory zonder index.html/index.php ?
Zet je PHP-bestand gewoon als index.php in elke directory. Als je op een
*nix-systeem werkt kan je dat ook doen met een symbolic link (man ln).
Jan
--
Look, Ma. No tables - http://enbio.steenbergen-stichting.nl/
Edwin Martin wrote:
> De directory listings in Apache worden gemaakt met de module mod_autoindex.
>
> Zie hier alle mogelijkheden:
> http://httpd.apache.org/docs/mod/mod_autoindex.html
Yep, maar ik zie daar geen mogelijkheid om het hele bestand zelf te
genereren. Je kan wat tekst aan het begin en het eind toevoegen, maar
mod_autoindex zal altijd de listing zelf maken.
> Een andere oplossing is om mod_rewrite te gebruiken. Je kunt dan opgeven
> dat elke URL die met een '/' eindigt, door jouw PHP-script verwerkt moet
> worden.
> http://httpd.apache.org/docs/misc/rewriteguide.html
Dan wordt de hele mod_autoindex dus genegeerd. Je kan dan niet meer
gewoon "Options (+/-)Indexes" in een .htaccess bestandje zetten. Volgens
mij wordt dan zelfs het hele DirectoryIndex keyword onbruikbaar, dus
http://www.domein.nl/ zal dan een listing geven zelfs als er een
index.html of index.php is.
Ik zat eigenlijk te hopen op een manier om de standaard configuratie met
"Indexes" in stand te houden. Maar ik begin te geloven dat het
onmogelijk is: dat keyword is onderdeel van mod_autoindex, en die kan
niet redirecten naar een PHP scriptje.
Wat er nog overblijft is inderdaad om zelf in C aan de gang te gaan, en
die mod_autoindex aan te passen...
groeten en bedankt,
Boudewijn.
Daniel Tryba wrote:
> http://httpd.apache.org/docs/mod/mod_dir.html
>
> Alternatief is natuurlijk de rewrite engine icm met bv een 404 handler.
Ah, ik wist niet dat DirectoryIndex ook absolute URLs mocht bevatten.
Dit wordt de tijdelijke oplossing, totdat ik erachter ben hoe ik
"Options (+/-)Indexes" kan blijven gebruiken.
groeten en bedankt,
Boudewijn.
> Op Mon, 18 Oct 2004 19:34:18 +0200, tikte Boudewijn:
> Ik vind de standaard directory listing van Apache ("Options Indexes")
> nogal lelijk. Daarom heb ik mijn eigen php-bestand geschreven dat de
> bestanden/subdirectories netjes opsomt.
>
> Hoe zorg ik ervoor dat Apache dit bestand gaat gebruiken voor elke
> directory zonder index.html/index.php ?
Stel 'm in op FancyIndex en laat de breedte van iedere kolom bepalen door
de langste inhoud. Daarnaast laat je een header.htm automatisch toevoegen.
Op deze wijze krijg je een, voor mij, acceptabel uiterlijk. Indexen worden
door mij overigens slechts in bepaalde dirs toegelaten.
Hoe te doen?
In de httpd.conf:
LoadModule autoindex_module modules/mod_autoindex.so
IndexOptions HTMLTable FancyIndexing NameWidth=* VersionSort
ReadmeName README.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
In de .htaccess die in de root van de server staat:
Options -Indexes
In de .htaccess die in de dir staat die gelist mag worden:
Options +Indexes
HeaderName header.htm
Tenslotte de header.htm maken en in de gewenste dir zetten.
--
Greetz,
Wago
__________________________________________________ ____________
"Do you come here often? I don't, because I'm busy making billions of
dollars." (Gates)