MadMac: Noch mal RuleCond...

So, hallo, ich komme langsam dahinter.

Ich habe

RewriteEngine On
RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
RewriteRule ^(.*) http://dr.maikebergner.de/1/$1 [R=301]

also wird alles, was nicht http://dr.maikebergner.de entspricht auf http://dr.maikebergner.de/1/ umgeleitet. Schön, denn so soll es eigentlich sein. Aber es ist noch ein kleines Zusatzproblem aufgetreten, denn http://dr.maikebergner.de/ soll ja ebenfalls auf http://dr.maikebergner.de/1/ umleiten. Man öffnet http://dr.maikebergner.de/ und soll dann so schnell, wie möglich in das Unterverzeichnis 1/ gelangen. Nun kann ich da eine index.htm einfügen, die mit refresh weiterleitet, aber das ist ja wieder nicht die beste Lösung. Nun gehe ich mal davon aus, dass ich mit einer weiter Bedingung

RewriteCond

auch von http://dr.maikebergner.de/ auf http://dr.maikebergner.de/1/ verweisen kann, solange ich das geschickt formuliere.

Bleibt die Frage an Euch, was hier eine geschickte Formulierung ist.

Ihr wisst sicherlich eine, als vielen Dank schon jetzt und Grüße...

  1. Hallo MadMac,

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
    RewriteRule ^(.*) http://dr.maikebergner.de/1/$1 [R=301]

    also wird alles, was nicht http://dr.maikebergner.de entspricht auf
    http://dr.maikebergner.de/1/ umgeleitet. Schön, denn so soll es eigentlich sein. Aber
    es ist noch ein kleines Zusatzproblem aufgetreten, denn http://dr.maikebergner.de/
    soll ja ebenfalls auf http://dr.maikebergner.de/1/ umleiten.

    Na, dann formuliere RewriteCond doch entsprechend:

    RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]

    Gruesse,
     CK

    1. Hallo,

      Na, dann formuliere RewriteCond doch entsprechend:

      RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]

      Zugegeben, lag auf der Hand, geht aber irgendwie nicht. Gib http://dr.maikebergner.de/ und siehe selbst. Es dauert recht lang, dann passiert gar nichts. Es wirkt so, als gäbe es eine Endlosschleife oder so. So genau verstehe ich das nicht, aber funktionieren tut es leider nicht.

      Grüße

      1. Hallo MadMac,

        Na, dann formuliere RewriteCond doch entsprechend:

        RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]

        Zugegeben, lag auf der Hand, geht aber irgendwie nicht. Gib http://dr.maikebergner.de/
        und siehe selbst. Es dauert recht lang, dann passiert gar nichts. Es wirkt so, als gäbe
        es eine Endlosschleife oder so. So genau verstehe ich das nicht, aber funktionieren tut
        es leider nicht.

        In der Tat, da hast du eine Endlosschleife produziert. Paste mal *alle* Rewrites, die du
        durchfuehrst.

        Gruesse,
         CK

        1. Hallo

          In der Tat, da hast du eine Endlosschleife produziert. Paste mal *alle* Rewrites, die du
          durchfuehrst.

          Kein Problem:

          RewriteEngine On
          RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]
          RewriteRule ^(.*) http://dr.maikebergner.de/1/$1 [R=301]

    2. Moin Christian!

      Na, dann formuliere RewriteCond doch entsprechend:
      RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]

      Du hast da was verwechselt. Hier wird der Host-Header getestet, nicht die Request-URI. Da ein Verzeichnisname in diesem Header niemals vorkommt, ist die Bedingung immer erfuellt und eine Endlosschleife entsteht.

      So long

      --
      Freedom begins between the ears.
          -- Edward Abbey
      1. Hallo Calocybe,

        Na, dann formuliere RewriteCond doch entsprechend:
        RewriteCond %{HTTP_HOST} !^dr.maikebergner.de/1/$ [NC]

        Du hast da was verwechselt. Hier wird der Host-Header getestet, nicht die
        Request-URI. Da ein Verzeichnisname in diesem Header niemals vorkommt, ist die
        Bedingung immer erfuellt und eine Endlosschleife entsteht.

        Urghs. Ich sollte mich ein wenig konzentrieren.

        Gruesse,
         CK

  2. Hallo,

    also wird alles, was nicht http://dr.maikebergner.de entspricht auf http://dr.maikebergner.de/1/ umgeleitet. Schön, denn so soll es eigentlich sein. Aber es ist noch ein kleines Zusatzproblem aufgetreten, denn http://dr.maikebergner.de/ soll ja ebenfalls auf http://dr.maikebergner.de/1/ umleiten.

    was spricht gegen folgende Variante?

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/1/.*$ [OR]
    RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
    RewriteRule ^(.*)$ http://dr.maikebergner.de/1/ [R=301,L]

    Wobei ich mich frage, was für einen Sinn ein Verzeichnisname '1'
    haben soll ... erst so auf die exakte URL achten und dann die
    ganze Arbeit verschandeln ;-)

    Viele Grüße,
    Stefan

    1. Hallo,

      was spricht gegen folgende Variante?

      RewriteEngine On
      RewriteCond %{REQUEST_URI} !^/1/.*$ [OR]
      RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
      RewriteRule ^(.*)$ http://dr.maikebergner.de/1/ [R=301,L]

      Wobei ich mich frage, was für einen Sinn ein Verzeichnisname '1'
      haben soll ... erst so auf die exakte URL achten und dann die
      ganze Arbeit verschandeln ;-)

      Naja, es gibt prinzipiell 6 Verzeichnisse 1/ bis 6/, die die 6 Themen steuern. Da der Start ein 1/ ist, wäre es klasse, wenn man da direkt rauskommen würde. Sonst müsste das Verzeichnis 1/ und das root Verzeichnis identisch sein, zumindest die index.htm. Wie dem auch sei, mit dem automatischen umleiten in die 1/ wäre es schon klasse. Nur die obige Variante verhindert grundsätzlich ein anderes Verzeichnis, geht man also in 2/ bis 6/ geht es auch gleich wieder in die 1/ und Bilder, die nicht aus dem Verzeichnis 1/ kommen, werden leider auch nicht dargestellt. Das ist also noch nicht die ideale Lösung für mich, tut mir leid.

      Grüße...

      1. Hallo,

        Naja, es gibt prinzipiell 6 Verzeichnisse 1/ bis 6/, die die 6 Themen steuern. Da der Start ein 1/ ist, wäre es klasse, wenn man da direkt rauskommen würde.

        toll und warum ist es nicht möglich, am Anfang einmal eine _brauch_-
        _bare_, _vernünftige_ und _umfassende_ Problembeschreibung zu liefern?

        Etwas sehr verärgert bin ich jetzt schon, es ist einfach ärgerlich,
        wenn Du X Threads startest und dann kleckerweise ankommst ... da
        wäre noch dies ... da wäre noch dass ....

        RewriteEngine On
        RewriteCond %{REQUEST_URI} !^/[1-6]/.*$ [OR]
        RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
        RewriteRule ^(.*)$ http://dr.maikebergner.de/1/ [R=301,L]

        Soweit von mir zu diesem Thema, Rest machst Du bitte selbst.

        Viele Grüße,
        Stefan

        1. RewriteEngine On
          RewriteCond %{REQUEST_URI} ^/$ [OR]
          RewriteCond %{HTTP_HOST} !^dr.maikebergner.de$ [NC]
          RewriteRule ^(.*)$ http://dr.maikebergner.de/1/ [R=301,L]