[Apache] Custom Dir Listing + Pad weergeven?

Pagina: 1
Acties:

  • Milenco
  • Registratie: April 2000
  • Laatst online: 16-08 02:03
Ik ben bezig een eigen directory listing voor Apache te maken (je weet, dat scherm dat je te zien krijgt als je via de webbrowser naar een map gaat zonder index.html). Dit gaat allemaal goed, mbv READMENAME en HEADERNAME kan ik zo deze index customizen. Deze aanpassingen heb ik gemaakt in m'n httpd.conf:

code:
1
2
3
4
5
6
7
    <Files directory_index_*.shtml>
 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
 Options +Includes
    </Files>
ReadmeName /system/directory_index_footer.shtml
HeaderName /system/directory_index_header.shtml


Er is echter één ding waar ik op blijf steken, namelijk het pad weergeven. Bij de standaard Apache index krijg je in de titel te zien in welke map je je bevindt (Index of /in/deze/map/zit/je). Bij m'n custom index krijg ik dit helaas niet voor elkaar.

Ik heb al geprobeerd via shtml het commando <!--#echo var="DOCUMENT_URI" --> in m'n custom header te zetten, maar deze geeft het foute pad, namelijk: /system/directory_index_header.shtml. Dat terwijl die het pad moet laten zien wat die weergeeft mbv de index.

PHP gaat sowieso niet werken, aangezien deze onverwerkt worden weergeven (nadat ik "AddType text/html .php" in m'n <Files> ding heb gezet. Zonder deze toevoeging weigert Apache deze bestanden en laat het z'n orginele index zien.

Is er iets dat ik over het hoofd heb gezien? Is het überhaupt mogelijk om het pad te weergeven (via één of andere variabele) wat ook via de standaard index is te zien? Ik draai trouwens Apache 2 op Windows XP.

  • Milenco
  • Registratie: April 2000
  • Laatst online: 16-08 02:03
*Trap*
Heb het al een tijdje terug gevonden, maar dit topic een beetje vergeten. Voor de search dan maar:
Ik zat in de goede richting, ik moest alleen geen DOCUMENT_URI gebruiken, maar REQUEST_URI. Hiermee laat die dus het aangevraagde pad zien:
code:
1
<!--#echo var="REQUEST_URI" -->

  • Nakebod
  • Registratie: Oktober 2000
  • Laatst online: 18:37

Nakebod

Nope.

Ik *kick* ook nog meer even.

Ben ook hiermee bezig, en het is mij ook gelukt om de dirlist aan te passen. Alleen het pad weergeven lukt mij niet.
Gister met Milenco wat oplossingen geprobeerd nadat ik zelf al heel wat had geprobeerd, maar we kwamen er niet uit. En vandaag na wat frisse pogingen ook nog niet.

Milenco draait Apache op Windows, ik op Linux.
Vandaag op mijn werk getest met een Windows installatie van Apache, kopieer stukjes config uit de Linux installatie naar de Windows configuratie, en wat denk je? Het werkt.
Dus wederom de betreffende stukjes config uit de Windows versie gehaald en in de Linux config op "dezelfde" plaats/volgorde gezet, apache restart, en het is nog steeds niet werkend.

Windows:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<Directory />
    Options Indexes FollowSymLinks
    IndexOptions FancyIndexing HTMLTable FoldersFirst SuppressHTMLPreamble SuppressDescription SuppressRules IconsAreLinks
    IndexIgnore directory_index_footer.shtml directory_index_header.shtml @Style.css
    AllowOverride None
</Directory>

<Files directory_index_*.shtml>
 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
 Options +Includes
</Files>


<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Linux:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<Directory />
    Options Indexes FollowSymLinks
    IndexOptions FancyIndexing HTMLTable FoldersFirst SuppressHTMLPreamble SuppressDescription SuppressRules IconsAreLinks
    IndexIgnore directory_index_footer.shtml directory_index_header.shtml @Style.css
    AllowOverride None
</Directory>

<Files directory_index_*.shtml>
 AddType text/html .shtml
 AddOutputFilter INCLUDES .shtml
 Options +Includes
</Files>

<Directory /var/www>
    Options Indexes FollowSymlinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
En voor alle twee de configs ook nog:

ReadmeName /directory_index_footer.shtml
HeaderName /directory_index_header.shtml
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

Op de Windows apache laat hij met <!--#echo var="REQUEST_URI" --> netjes de directory zien.
Op mijn linux test server laat hij letterlijk <!--#echo var="REQUEST_URI" --> zien.

Beide configs bevatten ook:
code:
1
2
3
#<FilesMatch "\.shtml(\..+)?$">
#    SetOutputFilter INCLUDES
#</FilesMatch>
Ook al enable ik dat stukje, werkt het nog niet.

Ik heb het idee dat er ergens een stuk wordt overgeslagen met het includen van *.shtml. Alleen waar het misgaat...
En als ik de Apache docs mag geloven, is REQUEST_URI gewoon goed, dus het moet wat anders zijn, alleen ik kom er op het moment niet achter.
Dus wat hulp zou welkom zijn.

Blog | PVOutput Zonnig Beuningen