Christian Eyrich: Sprachweiche auf'm Server mit .htaccess

Hallo,

das hier dem Archiv nach zu schließen schon öfter angesprochene Problem der Sprachweiche hat jetzt auch mich getroffen.
Der anscheinend einfachere Weg über MultiViews scheint auf meinem Server nicht zu funktionieren (vielleicht weil der Hoster AllowOverride nicht gesetzt hat), also die andere Methode:

.htaccess:
AddHandler type-map .var
DirectoryIndex index.var

index.var:
URI: index

URI: browser_en.html
Content-Type: text/html; qs=0.8
Content-Language: en

URI: browser_de.html
Content-Type: text/html; qs=1.0
Content-Language: de

Und was passiert? Sämtliche Browser zeigen mir die index.var als Textdatei an und finden's in Ordnung.

Auch mit dem älteren AddType application/x-type-map var statt AddHandler das gleiche Ergebnis. Wie erreiche ich, daß der Server die var auswertet und nicht an den Browser schickt?

Bye,
Christian

  1. Hi Christian,

    Der anscheinend einfachere Weg über MultiViews scheint auf meinem
    Server nicht zu funktionieren (vielleicht weil der Hoster
    AllowOverride nicht gesetzt hat),

    das hatte er bei mir auch nicht.

    Ich habe ihn dann per Mail gefragt, ihm erklärt, was ich vorhabe,
    und das dann für meinen Virtual Host eingeschaltet bekommen.
    (Das war eine von zwei Änderungen, die er für mich gemacht hat -
    die andere war mein eigenes error_log.)

    AddHandler type-map .var

    Das ist die Stelle, an der ich das Problem vermute.

    Ich denke mal, das steckt in "AllowOverride FileInfo" drin, obwohl es
    laut Apache-Handbuch nicht explizit aufgelistet ist, aber das "etc."
    am Ende scheint darauf hinzudeuten.

    Binde mal mit AddHandler ein "hello world"-CGI-Skript an eine Endung
    Deiner Wahl - wenn das auch nicht geht, weißt Du, was los ist.

    index.var:
    URI: index

    Deine Dateien sind in Ordnung. Ich habe sie mir hier mal schnell
    angelegt, und die Negotiation funktioniert bei mir wie gewünscht.

    Und was passiert? Sämtliche Browser zeigen mir die index.var als
    Textdatei an und finden's in Ordnung.

    Eben - deshalb denke, ich daß das Mapping auf den type-map-Handler
    nicht wirkt. Der Server liefert einfach das Dokument aus, wahrschein-
    lich mit "text/plain" als MIME-Typ.

    Wie erreiche ich, daß der Server die var auswertet und nicht an
    den Browser schickt?

    Indem Du den Provider fragst, was er da alles abgeschaltet hat.
    (Und wenn Du das tust, kannst Du Dir auch gleich MultiViews geben
    lassen ... ;-)

    Viele Grüße
          Michael
    (bei dem das Handler-Mapping funktioniert, ohne daß er fragen mußte)

    P.S.: Vorbildliche Problembeschreibung, danke.

    1. Hi auch, Michael

      Der anscheinend einfachere Weg über MultiViews scheint auf
      meinem Server nicht zu funktionieren (vielleicht weil der Hoster
      AllowOverride nicht gesetzt hat),

      das hatte er bei mir auch nicht.

      Oha, ein verbreitetes "Übel"? Sicherheitsbedenken werden aber doch wohl nicht der Grund sein.

      (Das war eine von zwei Änderungen, die er für mich gemacht hat -
      die andere war mein eigenes error_log.)

      Ahh, das hätte ich vorhin auch gut brauchen können.

      Binde mal mit AddHandler ein "hello world"-CGI-Skript an eine
      Endung Deiner Wahl - wenn das auch nicht geht, weißt Du, was los
      ist.

      Grmpf, gute Idee, aber das brachte herrlich wenig, der Server scheint so konfiguriert zu sein, daß er sowieso alles was in cgi-bin liegt als cgi nimmt ...

      Aber a propos CGI. Ich hatte noch nie welche eingesetzt und wäre fast verzweifelt weil immer nur der beliebte Fehler 500 bei einem simplen print "Hello world"; kam. Bis ich (auf Hoffnung einer genaueren Fehlermeldung) perl mit -w aufrief, seitdem läuft das Script (und andere kompliziertere) tadellos.
      Ich glaube da werde ich noch einige Überraschungen erleben.

      Deine Dateien sind in Ordnung. Ich habe sie mir hier mal schnell
      angelegt, und die Negotiation funktioniert bei mir wie gewünscht.

      Gut, wenn ich das sicher weiß, werde ich damit mal per e-Mail an meinen Hoster herantreten.

      Indem Du den Provider fragst, was er da alles abgeschaltet hat.
      (Und wenn Du das tust, kannst Du Dir auch gleich MultiViews geben
      lassen ... ;-)

      Also gut, dann tippe ich gleich mal.

      P.S.: Vorbildliche Problembeschreibung, danke.

      Tja naja, schließlich bin ich es ja auch der was wissen will.
      Aber herzlichen Dank vor allem Dir für's Testen und Tipps.

      Ciao,
      Christian