SSI mit Netscape Enterprise Webserver Version 4.10
Andi
- webserver
Hallo zusammen,
kann mir vielleicht irgendwer sagen, wo ich eine Dokumentation für den Einsatz von SSI im Netscape Enterprise Ver. 4.10 herbekomme?
Scheinbar funktionieren dort die IF-Direktiven nicht so wie bei Apache.
Zusätzlich wäre es noch ganz interessant zu wissen, ob und wie man mit SSI dateiübergreifende Variablen festsetzen kann.
Hintergrund dafür ist die konditionale Einbindung eines Benutzermenüs.
Frames kommen aufgrund der Barrierefreiheit nicht in Frage (mache ein Praktikum für eine öffentliche Institution, und diese müssen ja in den nächsten Jahren barrierefreie Websites haben). Deswegen wird das Menü in jeder Datei integriert. Der Include soll bewirken, dass man nicht immer alle Dateien ändern muss, wenn man mal was am Menü ändert.
Die Direktive soll aber nur ausgeführt werden, wenn der User kein Javascript hat, ansonsten wird das Menü per Javascript erzeugt.
Ob ein User Javascript aktiviert hat, wird auf der Indexdatei abgefragt und in einer Variablen gespeichert (per SSI-Direktive #set). Um das nicht in jeder Datei machen zu müssen wäre es also praktisch, wenn alle anschließend aufgerufenen Dateien ebenfalls diese Variable benutzen könnten.
Eine Übergabe per Query_String (Aufruf mit site?query_string) kommt dabei nicht in Frage.
Falls jemand Javascript aktiviert hat, werden die Unterseiten per XMLHttpRequest eingebunden (-> man hat 2 Index-Dateien: eine mit Nur-Text-Menü und eine mit JScript-Menü+AJAX worauf man automatisch umgeleitet wird, wenn der Client JavaScript unterstützt)
Vielleicht kann mir ja jemand helfen, wie die konditionale Einbindung des Menüs auf dem bestehenden Server umgesetzt werden kann.
Hallo Andi,
Eine Übergabe per Query_String (Aufruf mit site?query_string) kommt dabei nicht in Frage.
Ein anderer Pfad (ggf. nach entspr. Weiterleitung) wäre noch als Unterscheidungsmerkmal
möglich, ist aber vielleicht auch nicht so elegant?
Grüsse
Cyx23
Hallo Andi,
Eine Übergabe per Query_String (Aufruf mit site?query_string) kommt dabei nicht in Frage.
Ein anderer Pfad (ggf. nach entspr. Weiterleitung) wäre noch als Unterscheidungsmerkmal
möglich, ist aber vielleicht auch nicht so elegant?Grüsse
Cyx23
Danke für die Antwort, aber es sollen keine 2 verschiedenen Versionen aller Dateien existieren. In dem Fall bräuchte ich auch eine solche Bedingung ja auch nicht mehr, weil ich jeweils eine andere Datei lade.
Hallo Andi,
Ein anderer Pfad (ggf. nach entspr. Weiterleitung) wäre noch als Unterscheidungsmerkmal
möglich, ist aber vielleicht auch nicht so elegant?
Danke für die Antwort, aber es sollen keine 2 verschiedenen Versionen aller Dateien existieren. In dem Fall bräuchte ich auch eine solche Bedingung ja auch nicht mehr, weil ich jeweils eine andere Datei lade.
U.U. könntest du serverseitig den zusätzlichen Pfad auf die gleichen
Dateien umleiten. Nur per SSI köntest du immerhin gleiche Bausteine
verwenden. Es gibt halt nicht soviele Möglichkeiten ohne search oder
hash usw..
Grüsse
Cyx23
Hi,
Frames kommen aufgrund der Barrierefreiheit nicht in Frage (mache ein Praktikum für eine öffentliche Institution, und diese müssen ja in den nächsten Jahren barrierefreie Websites haben). Deswegen wird das Menü in jeder Datei integriert. Der Include soll bewirken, dass man nicht immer alle Dateien ändern muss, wenn man mal was am Menü ändert.
Die Direktive soll aber nur ausgeführt werden, wenn der User kein Javascript hat, ansonsten wird das Menü per Javascript erzeugt.
Serverseitig kann maximal ermittelt werden, ob zum Zeitpunkt des Requests Javascript aktiviert war - ob es noch aktiviert sein wird, wenn der Client die Antwortseite erhält, kannst Du nicht feststellen ...
Ob ein User Javascript aktiviert hat, wird auf der Indexdatei abgefragt
Und wie garantierst Du, daß der User überhaupt die Indexdatei anfordert (und das auch noch als erste)?
Wer z.B. von einer Suchmaschine kommt, wird in den wenigsten Fällen auf der Indexdatei landen.
Oder wer sich eine besonders interessante Seite in den Favoriten gespeichert hat, oder ...
und in einer Variablen gespeichert (per SSI-Direktive #set).
Daß diese Variable nicht mehr existiert, sobald die Seite an den Client ausgeliefert wurde, ist Dir klar?
SSI ist keine vollwertige Programmiersprache und bietet m.W. keinerlei session-Mechanismen an, womit eine Speicherung von Werten über mehrere Requests hinweg nicht möglich ist.
Falls jemand Javascript aktiviert hat, werden die Unterseiten per XMLHttpRequest eingebunden (-> man hat 2 Index-Dateien: eine mit Nur-Text-Menü und eine mit JScript-Menü+AJAX worauf man automatisch umgeleitet wird, wenn der Client JavaScript unterstützt)
Und wenn der Client zwar Javascript, aber kein XMLHttpRequest unterstützt?
cu,
Andreas
Hi,
Serverseitig kann maximal ermittelt werden, ob zum Zeitpunkt des Requests Javascript aktiviert war - ob es noch aktiviert sein wird, wenn der Client die Antwortseite erhält, kannst Du nicht feststellen ...
Das ist ja auch egal, wenn der Client einmal auf der Nur-Text-Version ist, dann braucht er nicht mehr auf die andere Version umgeleitet zu werden. Und wer schaltet JScript unterm Navigieren um? Also ich kenne niemanden.
Und wie garantierst Du, daß der User überhaupt die Indexdatei anfordert (und das auch noch als erste)?
Wer z.B. von einer Suchmaschine kommt, wird in den wenigsten Fällen auf der Indexdatei landen.
Oder wer sich eine besonders interessante Seite in den Favoriten gespeichert hat, oder ...
Für den Fall, dass man nicht auf der Index-Datei landet bekommt man dann die Text-Version. Wenn man das in den Favoriten speichert, dann bekommt man bei AJAX sowieso die Stammseite als Favorit (ausser man ändert das programmier-technisch) und bei der Text-Version klappt das ja mit den Favoriten, dann ist man beim nächsten mal wieder auf der Text-Version.
Die AJAX-Version klappt nur von der Index-Seite aus, denn dann wird faktisch nie mehr einen andere Seite aufgerufen, nur in einen Container geparst.
und in einer Variablen gespeichert (per SSI-Direktive #set).
Daß diese Variable nicht mehr existiert, sobald die Seite an den Client ausgeliefert wurde, ist Dir klar?
Klar, darum ja auch meine Frage, wie ich das umgehen kann. DAS war ja genau mein Problem.
SSI ist keine vollwertige Programmiersprache und bietet m.W. keinerlei session-Mechanismen an, womit eine Speicherung von Werten über mehrere Requests hinweg nicht möglich ist.
Man kann es über den href-Parameter weiterleiten, was ich aber nicht will.
Falls jemand Javascript aktiviert hat, werden die Unterseiten per XMLHttpRequest eingebunden (-> man hat 2 Index-Dateien: eine mit Nur-Text-Menü und eine mit JScript-Menü+AJAX worauf man automatisch umgeleitet wird, wenn der Client JavaScript unterstützt)
Und wenn der Client zwar Javascript, aber kein XMLHttpRequest unterstützt?
Dann kommt er logischerweise auch auf die Nur-Text-Seite