Hallo,
ich muss zwei Domains auf eine Standarddomain umleiten. Ebenso wurden zwei Seiten umbenannt, die ebenfalls umgeleitet werden müssen.
http://www.zusatz-domain1.de => http://www.standard-domain.de
http://www.zusatz-domain2.de => http://www.standard-domain.debitte, bitte ...
kontakt.html => kontakt.php
instructions.html => anweisungen.html
RewriteEngine on
redirect any other domain to the default domain
RewriteCond %{HTTP_HOST} !^www.standard-domain.de
RewriteRule ^(.*)$ http://www.standard-domain.de/$1 [R=301, N]redirect reordered or renamed content
RewriteRule (.)kontakt.html$ $1kontakt.php [R=301]
RewriteRule (.)instructions.html$ $1anweisungen.html [R=301]
>
> 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
>
> > Das Problem, vor dem ich stehe ist nun folgendes:
> > Die URL www.standard-domain.de/kontakt.html wird brav in www.standard-domain.de/kontakt.php umgeschrieben.
>
> Okay, klar.
>
> > 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
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.
>
> > Wie sage ich in der htaccess datei, dass er ...
>
> Wer ist "er"?
^^ Der kleine Mann, der die Adressen nach den Regeln umschreibt ;-D Sry
>
> > mit der URL-Modifizierung nicht bei der ersten Regel aussteigen soll?
>
> Ich würde es genau umgekehrt angehen: Darauf bauen, \*dass\* die Bearbeitung nach der ersten Regel abbricht, die ja einen Redirect auslöst. Die Domain-internen Umleitungen werden dann ggf. in der zweiten Runde abgeprüft.
> 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. Dann habe ich echt noch nicht verstanden, wie diese Datei interpretiert bzw abgearbeitet wird.
>
> > Ich dachte, dass das mit dem Parameter "N" ginge:
>
> Ich sehe zwischen dem Redirect und dem N-Flag eher einen Widerspruch und hätte daher eher ein L gesetzt.
>
> Ciao,
> Martin
>
Das N besagt ja lediglich, dass er den ganzen Prozess nochmals mit dem Ergebnis der Regel durchführen soll.
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
3\. Die Domain prüfen
4\. Auf kontakt.html prüfen
5\. kontakt.html auf kontakt.php weiterleiten
Und da ist der Hund begraben. Scheinbar hab ich den Gedankenfehler, dass ich zuerst anham, bei einer Weiterleitung würde die htaccess mit der neuen Domain nochmals ausgeführt werden. Bzw. dass es mit dem Flag "N" möglich sei, anzugeben, mit der nächsten Überprüfung fortzufahren.
Ergo:
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.
2\. die gleiche Überprüfung mit instructions.html analog zu kontakt.html
3\. Für alles was jetzt noch nicht weitergeleitet wurde, überprüfen, ob die standard-domain verwendet wurde und falls nicht auf diese umleiten.
Besten Dank für die Anstoß ^^