Manuel W.: Browserweiche mit .htaccess

moin

Ich suche die passenden Befehle für folgendes:

  • IE-Nutzer werden von http://domain.tld/ auf http://domain.de/IE.html, und
  • Nutzer anderer Browser intern auf index.php umgeleitet.
  • Bei Direktaufruf von http://domain.tld/index.php soll man !NICHT! umgeleitet werden.

Auf die Art kann IE (und Browser die sich als ebendieser tarnen) bei Bedarf immernoch index.php aufrufen können, anstatt komplett Ausgesperrt zu werden.

Das alles könnte wahrscheinlich locker mit PHP zu erledigen sein, ich wills aber trotzdem zunächst mal mit .htaccess probieren.. Find ich irgendwie.. plainer.. ;D

Hat schonmal wer was in die Richtung gemacht?
Google spuckt unter 'Browserweiche .htaccess' nichts verwertbares aus. Die wenigen Resultate die wahrscheinlich vorhanden sind gehn unter der Flut von PHP- und JavaScript-Browserweichen unter..

Grüße aus Niederösterreich,

  • Manuel

P.S.: Es ist nicht möglich für den IE-Nutzer /innerhalb/ der Seite eine Nachricht einzublenden, da der IE die Seite nicht mal darstellt. Er bietet sie stattdessen zum Download an.. (application/xhtml+xml)
Selbst wenn er die darstellen würde, würde sie falsch angezeigt werden.

  1. Hi,

    (application/xhtml+xml)

    über den "Sinn" dieser Auslieferung hast Du aber im Forum die Meinungen und Infos gelesen?
    Warum wartest Du damit nicht einfach ein paar Jahre, bis die Zeit reif ist und verwendest für evtl. nötige IE-Korrekturen die conditional comments?

    freundliche Grüße
    Ingo

    1. (application/xhtml+xml)
      über den "Sinn" dieser Auslieferung hast Du aber im Forum die Meinungen und Infos gelesen?
      Warum wartest Du damit nicht einfach ein paar Jahre, bis die Zeit reif ist und verwendest für evtl. nötige IE-Korrekturen die conditional comments?

      Auch wenn ich als MIME-Typ text/html angeben würde, würde der IE die Seite trotzdem falsch anzeigen. Er versteht die meisten CSS-Formatierungen nicht.
      Aus diesem Grund auch die Umleitung, um die IE, NNavigator4.0 und Lynx-User nicht ganz auszusperren bekommen sie eine Nur-Text-Variante angezeigt.

      1. Hi,

        Auch wenn ich als MIME-Typ text/html angeben würde, würde der IE die Seite trotzdem falsch anzeigen. Er versteht die meisten CSS-Formatierungen nicht.

        und warum gibst Du dem IE dann nicht einfach über conditional comments ein korrigierendes CSS?
        das ist afaik die sicherste lösung um ausschließlich den IE zu erreichen.

        freundliche Grüße
        Ingo

        1. Auch wenn ich als MIME-Typ text/html angeben würde, würde der IE die Seite trotzdem falsch anzeigen. Er versteht die meisten CSS-Formatierungen nicht.
          und warum gibst Du dem IE dann nicht einfach über conditional comments ein korrigierendes CSS?
          das ist afaik die sicherste lösung um ausschließlich den IE zu erreichen.

          Das wäre dann aber mit unnötiger* Mehrarbeit verbunden.. Und da ich kein Fan von Mehrarbeit bin, lass ichs so wies is :)
          Wer die HighEnd-Variante sehen will muss halt Opera oder Moz installieren, wer meint weiterhin den IE benutzen zu müssen darf sich meiner Meinung nach auch nicht aufregen die gleiche Variante wie Lynx vorgesetzt zu bekommen.

          * Unnötig insofern, als dass meine Seite keinerlei kommerzielle Interessen verfolgt.. Ich bin daher keineswegs darauf angewiesen dass die Seite bei allen Browsern ein Augenschmaus ist.

          Aber Danke für den Hinweis mit den Conditional Comments, muss gestehen dass die vollkommen neu für mich sind.
          Wieder was dazugelernt..

          Grüße aus Niederösterreich,

          • Manuel.
  2. use Mosche;

    Ich suche die passenden Befehle für folgendes:

    • IE-Nutzer werden von http://domain.tld/ auf http://domain.de/IE.html, und
    • Nutzer anderer Browser intern auf index.php umgeleitet.
    • Bei Direktaufruf von http://domain.tld/index.php soll man !NICHT! umgeleitet werden.

    *Oh, wie oft habe ich in der letzen Woche auf dieses Dokument verlinkt*
    http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html.en

    um IE von http://domain.tld/ auf http://domain.tld/IE.html umzuleiten

    RewriteEngine on
    RewriteCond   %{HTTP_USER_AGENT} reg_ex_um_IE_zu_identifizieren
    RewriteRule   ^$                 /IE.html

    damit alle anderen auf index.php umgeleitet werden

    Version a) (zu bevorzugen)

    DirectoryIndex index.php index.html

    Version b)

    Ausrufezeichen vor Regex nicht vergessen

    RewriteCond   %{HTTP_USER_AGENT} !reg_ex_um_IE_zu_identifizieren
    RewriteRule   ^$                 /IE.html

    use Tschoe qw(Matti);

    --
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
    1. Version a) (zu bevorzugen)

      DirectoryIndex index.php index.html

      Version b)

      Ausrufezeichen vor Regex nicht vergessen

      RewriteCond   %{HTTP_USER_AGENT} !reg_ex_um_IE_zu_identifizieren
      RewriteRule   ^$                 /IE.html

      Könntest du mir ev. noch sagen, warum die eine Methode gegenüber der anderen zu bevorzugen ist?

      Danke!

      • manuel
      1. use Mosche;

        Version a) (zu bevorzugen)

        DirectoryIndex index.php index.html

        Version b)

        Ausrufezeichen vor Regex nicht vergessen

        RewriteCond   %{HTTP_USER_AGENT} !reg_ex_um_IE_zu_identifizieren
        RewriteRule   ^$                 /IE.html

        Hier ist ein Fehler. Die letzte Regel muß lauten:
        RewriteRule   ^$                 /index.php

        Könntest du mir ev. noch sagen, warum die eine Methode gegenüber der anderen zu bevorzugen ist?

        Naja:
        Version a ist quasi genau das, was man eigentlich machen will:
        index.php ist dein Index (=Startseite), die Standardmäßig angesprungen werden soll, wenn auf das Verzeichnis verwiesen wird (/). Version b) ist die Umkehrung der ersten RewriteRule und ist langsamer und weniger intuitiv.

        use Tschoe qw(Matti);

        --
          Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
        1. Danke für deine Hilfe!

          Auf meinem lokalen Apache2 (WIN32) funzt alles wunderprächtig, auf meinem webspace (Apache 1.3.26 @ unix) bekomm ich allerdings ständig "permission denied".. Das werd ich aber sicher auch noch lösen :)

          Danke nochmal!