Saskia: Weiterleitung mittels RewriteRule

Weiterleitung mittels RewriteRule:

Wenn ich einzelne Dateien umleite, mache ich das mit:

RewriteRule ^seite_([0-9a-zA-Z]+).html index.php?page=$1 [L]

auf mein Verzeichnis zielen aber mehrere Domains. Jetzt würde ich gerne eine bestimmte davon von allen anderen Rules ausnehmen, praktisch am Anfang sofortweiterleiten:

Also wenn irgeneine Adresse mit www.example.com aufgerufen wird, also auch

www.example.com/seite/seite.html soll immer www.example.com/ausgabe.html erfolgen.

RewriteRule www.example.com www.example.com/ausgabe.html [L]

funktioniert aber nicht ganz so wie ich es gerne hätte....

Saskia

  1. So sollte es gehen...

    RewriteCond %{HTTP_HOST} ^http://www.example.com$
    RewriteRule ^(.*)$ http://www.example.com/wie_auch_immer.html [L,R=301]

    1. Aber würde es auch irgendwie funktionieren, das

      http://www.example.com/wie_auch_immer.html

      zwar aufgerufen wird, aber nur

      http://www.example.com

      im Browser steht???

      Saskia

      RewriteCond %{HTTP_HOST} ^http://www.example.com$

      RewriteRule ^(.*)$ http://www.example.com/wie_auch_immer.html [L,R=301]

      1. Nein, das geht nur mit Frames und das willst du nicht (deine Besucher auch nicht)

        Alternativ lädt deine Seite immer nur per Ajax Inhalte nach, dann steht immer nur die "Root-Adresse" in der Adressleiste.

        Dass dadurch Bookmarks verhindert werden, ist nur eins der Probleme, die der Besucher hat.

      2. Hallo Saskia,

        Aber würde es auch irgendwie funktionieren, das
          http://www.example.com/wie_auch_immer.html
        zwar aufgerufen wird, aber nur
          http://www.example.com
        im Browser steht???

        Deinen Wunsch hat Martin einmal hübsch zusammengefasst.

        Freundliche Grüße

        Vinzenz

    2. RewriteCond %{HTTP_HOST} ^http://www.example.com$

      Sollte es nicht
      RewriteCond %{HTTP_HOST} ^(www.)?example.com$
      heissen?

      1. RewriteCond %{HTTP_HOST} ^http://www.example.com$
        Sollte es nicht
        RewriteCond %{HTTP_HOST} ^(www.)?example.com$
        heissen?

        Nein, wieso?

        www.example.com und example.com sind zwei völlig unterschiedliche Hostnamen.

        1. Das ist korrekt. Aber gibt %{HTTP_HOST} auch das Protokoll zurück und sollten bestimmte Zeichen im regulären Ausdruck nicht maskiert werden?

          1. Das ist korrekt.

            Eh klar :p

            Aber gibt %{HTTP_HOST} auch das Protokoll zurück

            Nein, es gibt den HTTP_HOST zurück :) das Protokoll muss sowieso[sic?] HTTP oder HTTPS sein, was anderes geht garnicht - und das findet man mit %{HTTPS} raus. Wenn zudem Protokoll-Version interessant ist, kann man %{THE_REQUEST} befragen.

            und sollten bestimmte Zeichen im regulären Ausdruck nicht maskiert werden?

            Ja, die Punkte z.B. - aber das ist egal, weil der Ausdruck ohnehin Mist ist, wegen dem http:// :)

            Mein Einwand bezog sich lediglich auf die www- und nicht-www-Sache - das kam in meinem Post leider nicht raus - genausowenig wie in deinem rauskam, dass du eigentlich das Protokoll bemängeln wolltest :)