Thomas J.S.: SSI in Apache und IIS

Beitrag lesen

Hallo Christoph,

In SELFHTML gibts eine sehr kurz gefaßte Erläuterung dazu, aber die Übersicht ist leider nicht nur kurz, sondern auch unvollständig.

Nicht ganz korrekt mag ja sein, (file und virtual sind ganz umgekehrt erklärt) aber das da was fehlen würde? OK, wenn du meinst, dass dort die konditionale Abfragen für SSI nicht beschrieben werden: hast recht.

für den IIS habe ich noch nix gefunden, auch in der MSDN nicht (hallo Bio ;-)), möglicherweise hab ich in der MSDN aber auch nicht alles durchsucht. Daher weiß ich nicht genau, was der IIS _prinzipiell_ bereitstellt.

Schwer zu glauben, ich habe _nur_ nach SSI bei M$ gesurcht: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/serv9i5h.asp

So, und jetzt drei Nachfragen:
<div id="name">
<!--#include file="datei.htm" -->
</div>
Und da gehts dann los. Mein Apache weigert sich, ein HTML-Dokument einzubinden, obwohl ich exakt so verfahren bin, wie in der Apache-Dokumentation beschrieben.

Blöde frage: kennt dein Apache htm überhaupt? Hast du auch mit html statt htm versucht?

Hat jemand eine Erklärung dafür?

Ne.

Und dann: Meine HTML-Dokumente haben alle eine DOCTYPE-Angabe, zwei meta-tags, einen Header-Bereich usw. Das heißt, ich habe unter Umständen mehrere Dutzend (immer dieselben) DOCTYPE-Angaben, die bereits auf dem Server in einer "großen" Datei zusammengeklebt werden und auch so beim Browser ankommen,

Das finde ich ziemlich arg, ersten weiis keiner wie die versch. Browser wirklich reagieren: also kann sein dass letztlich gar nichts angezeigt wird, unangehmen aber ist vor allem, dass damit massenweise unnötige Daten übertragen werden.

und obs valide wäre, mochte ich gar nicht erst testen. Natürlich könnte ich das alles rausstreichen, ...  aber dann sind die Einzelseiten nicht mehr valide und ich kann mich nicht mehr leiden.

Verstehe ich das richtig? Du möchtest nicht, dass bei dir einzelne Dateien nicht valide sind und deshalb produzierst du lieber sehr große nicht valide Dateien? Habe ich was missverstanden? ;-)

Das einzige, was mir bisher eingefallen ist, wäre, sämtliche HTML-Dokumente vor dem Includieren erst durch ein Perl-Script aufrufen zu lassen, das die "überflüssigen" Auszeichnungen entfernt. Hat jemand ne bessere Idee?

Nicht wirklich.

zweitens:
Jetzt möchte ich aber in (mindestens) eins meiner DIV's ein XML-Dokument reinschubsen. Geht zwar prinzipiell auch, aber da gibts Unterscheide bei den Servern. Mein Apache möchte es gerne in der Form
<!--#include virtual="daten.xml" -->
haben, dann gehts prima. Aber der IIS bei meinem Provider zeigt da gar nix an, der möchte zwingend
<!--#include file="daten.xml" -->

Du könntest eine konditionale SSI abfrage schreiben: also Servertyp abfragen und ja nachdem den <!--# include --> setzen.

»»Bleibt mir wirklich nix andres übrig als mit einer "if"-Abfrage über "SERVER_SOFTWARE" den grade aktiven Server zu ermitteln?

Ehm... genau!

Und dann ergibt sich ein ähnliches Problem für die "Kopfdaten" wie bei den HTML-Dokumenten.

Da wirst du auch nicht viel machen können. Ich zweifle daran, dass es helfen würde wenn du dein xml ebenfalls als ein zu parsende Datei ausgeben würdest: "AddHandler server-parsed .xml"

drittens:
Macht das überhaupt Sinn, aich so eine "SSI-Konstruktion" auszudenken? ... angezeigten Gesamtdatei schnell mal eine Größe von 1 MB und mehr erreichen kann.

Was ... ne, ich frage lieber erst gar nicht nach, wobe es so wichtig ist das alles zusammen bleibt und  dass man dazu 1MB große Datei herunterladen müsste.

Ich hoffe, ich hab mein augenblickliches "Problem" einigermaßen verständlich dargestellt.

Durchaus, aber ich sehen keine SSI Lösung, wenn du nicht bereit bist die zu inkludierende Datein als HTML-snipplest zu erstellen und sie so einzufügen.

Grüße
Thomas