Der Martin: Weiterleitung bestimmter Domains und/oder bestimmter Seiten

Beitrag lesen

Hi,

Hallo,
[...]
Die letzten beiden Rules würde ich einfacher formulieren:
  RewriteRule /kontakt.html$ /kontakt.php [R=301]
Oder willst du auch in allen Unterverzeichnissen alle kontakt.html (falls vorhanden) nach kontakt.php umleiten?
Hm. Rischtisch. Das wäre einfacher. ^^ Merci

und nächstes Mal bitte ohne TOFU. Danke.

Die URL www.zusatz-domain1.de/kontakt.html wird aber lediglich in www.standard-domain.de/kontakt.html umgeschrieben.
Das ist mir im Moment nicht klar.
Hier hätten zwei sachen passieren müssen:

  1. die Domain hätte auf die standar-domain.de geändert werden müssen
  2. die Seite kontakt.html auf komtakt.php

Ja, aber Punkt 2. erst beim nächsten Durchlauf, dazwischen erfolgt ja zunächst der Redirect auf die neue Domain.

Da in meiner Version der .htaccess aber bereits nach der ersten Regel, welche die domain "ändert", ein Redirect durchgeführt wird, fallen alle weitern Regeln unter den Tisch. Aus diesem Grund gab ich das Flag "N" an.

Und ich vermute, das wird wegen des verlangten Redirects gar nicht beachtet. Das steht zwar nicht explizit in der Doku, erscheint mir aber logisch.

Das hat zwar den Nachteil, dass im ungünstigsten Fall zwei Redirects stattfinden, aber dieser Fall dürfte relativ selten vorkommen, oder?
Ok. Dem stimme ich zu. Für mich war es nur unlogisch, warum bei einem Redirect einfach Schluss sein sollte.

Weil dadurch der anfragende Client schon die Antwort bekommt: Frag nochmal woanders nach!
In deinem Fall landet er beim Folgerequest wieder auf demselben Server, aber unter anderer Domain. Im allgemeinen Fall müsste man hier davon ausgehen, dass der Folgerequest bei einem ganz anderen Server aufschlägt.

In meinem Fall (www.zusatz-domain.de/kontakt.html)

  1. Die Domain prüfen
  2. Die Domain umstellen und Prozess mit umgestellter nochmal ausführen

Und hier möge vielleicht ein intimer Kenner von mod_rewrite aufgreifen: Werden nachfolgende Rules noch bearbeitet, wenn eine in einen Redirect mündet? Wird das N-Flag bei einem gleichzeitigen Redirect überhaupt beachtet?

  1. Die Domain prüfen
  2. Auf kontakt.html prüfen
  3. kontakt.html auf kontakt.php weiterleiten

Ansonsten wäre deine Überlegung logisch - nur über die eben formulierten zwei Fragen bin ich mir nicht so ganz im Klaren.

Ich müsste dann also die Regeln so umstellen dass:

  1. überprüft wird ob was auf kontakt.html reinkommt und auf www.standard-domain.de/kontakt.php weiterleiten, egal was für eine Domain angegeben wurde.

Nein, nur auf /kontakt.php, keinen Hostnamen dabei angeben! Sonst hast du ja ebensogut wie vorher schon einen Redirect, und das Prinzip bleibt dasselbe.
Wobei ... Stillschweigend intern umleiten hätte natürlich zur Folge, dass immer noch /kontakt.html in der Adressleiste steht, der Client also die Änderung gar nicht mitbekommt. Kann gewünscht sein, vielleicht aber auch nicht.

  1. die gleiche Überprüfung mit instructions.html analog zu kontakt.html
  2. Für alles was jetzt noch nicht weitergeleitet wurde, überprüfen, ob die standard-domain verwendet wurde und falls nicht auf diese umleiten.

In der Reihenfolge könnte es wie gewünscht funktionieren. Testen! :-)

Ciao,
 Martin

--
Warum können wir heute so sicher sagen, dass Gott keine Frau sein kann?
Weil dann nach "Es werde Licht" der nächste Satz "Wie sieht denn das hier aus?!" gewesen wäre.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(