Apache für SSI konfigurieren
Der Martin
- webserver
Guten Tag allerseits,
ich hab seit gestern eine kleine Meinungsverschiedenheit mit meinem Apachen (Version 2.0.49 unter Win2k), bei der ich nicht weiterkomme.
Ich möchte in EINEM Verzeichnis meines Servers ALLE .htm- und .html-Dateien auf SSI parsen lassen. Also dachte ich mir, das müsste sehr schön mit .htaccess gehen. Jedenfalls lese ich das so aus der Online-Doku.
In der httpd.conf habe ich also folgende Direktiven stehen:
-----8<-------
...
LoadModule include_module modules/mod_include.so
...
<Directory {DocumentRoot}>
Options Indexes FollowSymLinks
AllowOverride AuthConfig Options
...
</Directory>
...
-----8<-------
Wichtig ist hier, wenn ich das Prinzip richtig verstanden habe, vor allem die AllowOverride-Anweisung, und natürlich, dass das include-Modul auch geladen wird.
Im Verzeichnis, das ich so behandeln will, steht folgende .htaccess:
-----8<-------
Options +Includes
AddOutputFilter INCLUDES .htm .html
-----8<-------
Auf die AddTypes-Direktive, die im Manual zusätzlich erwähnt wird, habe ich hier verzichtet - schließlich sind die Extensions .htm und .html sowieso schon auf den MIME-Typ text/html registriert.
Sobald ich nun eine .htm-Datei in meinem so präparierten Verzeichnis abrufen möchte, bekomme ich einen "500 Internal Server Error", und im Error Log steht der Eintrag "AddOutputFilter not allowed here".
Laut Online-Doku dürfen diese Direktiven aber auch in der .htaccess verwendet werden. Was mache ich also falsch?
Mit ratlosem Gruß aus Backnang,
Martin
Hallo,
Laut Online-Doku dürfen diese Direktiven aber auch in der .htaccess verwendet werden. Was mache ich also falsch?
Server Side Includes example
http://httpd.apache.org/docs-2.0/howto/htaccess.html#ssi
Another common use of .htaccess files is to enable Server Side Includes for a particular directory. This may be done with the following configuration directives, placed in a .htaccess file in the desired directory:
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
!!!!!
Note that AllowOverride Options >>> and AllowOverride FileInfo <<<< must both be in effect for these directives to have any effect.
Das könnte es bei dir gewesen sein.
Grüße
Thomas
Hallo Thomas,
Adlerblick oder Erfahrung? ;)
Note that AllowOverride Options >>> and AllowOverride FileInfo <<<< must both be in effect for these directives to have any effect.
Das könnte es bei dir gewesen sein.
Ja, genau das war es auch! FileInfo hatte ich nicht mit aufgeführt, der entsprechende Satz in der Doku ist mir auch irgendwie völlig durch die Lappen gegangen.
Besten Dank nochmal,
Martin
Hallo,
Adlerblick oder Erfahrung? ;)
Was denkst du? ;-)
Besten Dank nochmal,
Gerne,
Thomas
Hallo Martin
Ich möchte in EINEM Verzeichnis meines Servers ALLE .htm- und .html-Dateien auf SSI parsen lassen.
davon möchte ich dir aus eigener qualvoller² erfahrung abraten, weil du damit das caching deiner (insbesondere statischen) files unmöglich machst, weil kein last-modified mehr gesendet wird.
Parse lieber .shtml oder aktiviere den xbithack (d.h. ssi nur wenn groupexecute gesetzt³)
tschau
rolf
² wochenlange testreihen
³ keine ahnung wie das unter win abgebildet wird.
Hallo Rolf,
ich weiß deine Einwände bzw. Erfahrungen wohl zu würdigen, aber...
Ich möchte in EINEM Verzeichnis meines Servers ALLE .htm- und .html-Dateien auf SSI parsen lassen.
davon möchte ich dir aus eigener qualvoller² erfahrung abraten, weil du damit das caching deiner (insbesondere statischen) files unmöglich machst, weil kein last-modified mehr gesendet wird.
... die HTML-Dateien in diesem Verzeichnis SIND wirklich alle zum Teil dynamisch. Zumindest die Navigation und später mal irgendein Logo oder eine Art "Briefkopf" soll per SSI auf jede Seite.
Die möglichen Nachteile sind mir bekannt - darum wollte ich den Gag auch per .htaccess auf dieses eine Verzeichnis beschränken und nicht in der globalen httpd.conf verankern.
Parse lieber .shtml ...
Da gefällt mir nicht, dass der Client dann auch die Extension .shtml sieht. Dem User möchte ich einheitliche .html oder .htm servieren.
oder aktiviere den xbithack (d.h. ssi nur wenn groupexecute gesetzt³)
Dass das unter Windows nicht geht, ist bekannt (ja, ich hab deine Fußnote gelesen: Unter Windows wird es *gar nicht* abgebildet). Ich frage mich allerdings, warum die Apache-Devs hier nicht ersatzweise das System-Attribut vom Windows-Dateisystem nehmen, das sich für solche Zwecke regelrecht schreiend anbietet. ... ?
Bye,
Martin
Hallo Martin
... die HTML-Dateien in diesem Verzeichnis SIND wirklich alle zum Teil dynamisch. Zumindest die Navigation und später mal irgendein Logo oder eine Art "Briefkopf" soll per SSI auf jede Seite.
gut!
Die möglichen Nachteile sind mir bekannt - darum wollte ich den Gag auch per .htaccess auf dieses eine Verzeichnis beschränken und nicht in der globalen httpd.conf verankern.
Ich denke du weisst auch, dass die Verzeichniseinschränkung auch in der httpd.conf geht.
tschau
rolf
Dass das unter Windows nicht geht, ist bekannt (ja, ich hab deine Fußnote gelesen: Unter Windows wird es *gar nicht* abgebildet). Ich frage mich allerdings, warum die Apache-Devs hier nicht ersatzweise das System-Attribut vom Windows-Dateisystem nehmen, das sich für solche Zwecke regelrecht schreiend anbietet. ... ?
vielleicht mögen sie win nicht genug um auch noch 'hacks' zu portieren ;)
Ich denke du weisst auch, dass die Verzeichniseinschränkung auch in der httpd.conf geht.
Ja, sicher. Das gilt dann aber AFAIK auch automatisch für alle untergeordneten Verzeichnisse, oder?
Abgesehen davon: Wenn ich die Einstellungen in eine .htaccess packe, dann hab ich es leichter, irgendwann den Krempel in ein anderes Verzeichnis zu verschieben, wenn mir mal danach sein sollte.
vielleicht mögen sie win nicht genug um auch noch 'hacks' zu portieren ;)
Irgend sowas wird es sein... *g*
Martin
Hi
Ich denke du weisst auch, dass die Verzeichniseinschränkung auch in der httpd.conf geht.
Ja, sicher. Das gilt dann aber AFAIK auch automatisch für alle untergeordneten Verzeichnisse, oder?
bei .htaccess doch auch! oder?
htaccess soll doch mittel der wahl sein für Leute die nicht an die conf dürfen.
Abgesehen davon: Wenn ich die Einstellungen in eine .htaccess packe, dann hab ich es leichter, irgendwann den Krempel in ein anderes Verzeichnis zu verschieben, wenn mir mal danach sein sollte.
ja sowas habe ich jetzt auch vermutet.
ich denke nur, mit der conf bräuchstets du nicht mit allow override usf rumzuhanteln.
tschuess
rolf
Hi
Da gefällt mir nicht, dass der Client dann auch die Extension .shtml sieht. Dem User möchte ich einheitliche .html oder .htm servieren.
Es gäbe da übrigens noch nen anderen hack für dein "problem":
.html ->SSI
.htm ->normal
das geht wirklich mein webadmin zwingt mich wg seiner dusseligkeit auch gerade dazu alles statische von html auf htm umzubennen.
tschau
rolf