Seite 1 von 3

301 funzt bei mir nicht

Verfasst: 15.09.2008, 12:08
von zauberstern
Hallo liebe Forengemeinde,
ich möchte eine alte Domain umleiten zu einer neuen.
So, wenn ich nun eine .htaccess bastele mit folgendem Inhalt:
"redirect permanent / https://www.neueseite.de" und diese per ftp in das rootverzeichnis lade, dann kann ich weder die alte noch die neue Website aufrufen. Wenn ich die .htaccess wieder rauslösche, dann kann ich wieder beide aufrufen.
Kann mir Jemand helfen??

Achja was ist der Unterschied zwischen oben geschriebenen Inhalt der .htaccess und folgendem Inhalt:
"RewriteEngine on
RewriteRule ^(.*) https://www.301redirect.de/$1 [R=301,L]"
Kann mir das Jemand erklären? Ich kenne mich hiermit nicht aus.
vielen Dank

Verfasst:
von

Verfasst: 15.09.2008, 12:18
von SloMo
"Redirect" ist eine Direktive des Apache-Moduls mod_alias, "RewriteRule" ist eine Direktive des Moduls mod_rewrite. Mod_rewrite schreibt URLs um, während mod_alias nur weiterleitet.

Der Unterschied der beiden obigen Varianten ist wohl (bin aber auch kein Experte in sowas), dass einmal nur der index umgeleitet wird, bei der mod_rewrite-Variante aber jeder Pfad umgeleitet wird.

Warum Variante 1 bei Dir nicht geht, weiß ich auch nicht. Ist denn mod_alias vorhanden? Vielleicht erzeugst Du auch eine Endlos-Umleitung... ich denke das wird es sein. Schaue Dir doch mal die HTTP-Header an.

Variante 2 wird so wohl auch nicht funktionieren. Sie führt auch zur Endlos-Umleitung, weil die Zeile

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.301redirect\.de$
fehlt.

Verfasst: 15.09.2008, 13:16
von zauberstern
Hallo, ja das mit der Schleife stimmt. Das Fenster wird angezeigt, wenn man eine der beiden URL's aufruft.
Den Rest hab ich nicht verstanden. Tut mir Leid.
Gruß

Verfasst: 15.09.2008, 14:48
von SloMo
Das verstehe ich jetzt nicht. Ist das Problem jetzt gelöst? Vor allem: was für ein "Fenster" meinst Du...?

Verfasst: 15.09.2008, 14:57
von Southmedia
zauberstern, poste doch mal die Fehlermeldung die dir dein Browser gibt.

Verfasst: 15.09.2008, 15:09
von Mork vom Ork
SloMo hat geschrieben:Der Unterschied der beiden obigen Varianten ist wohl (bin aber auch kein Experte in sowas), dass einmal nur der index umgeleitet wird, bei der mod_rewrite-Variante aber jeder Pfad umgeleitet wird.
Nein, die beiden Zeilen

RewriteRule .* https://example.com/$1 [R=301,L]

und

Redirect permanent / https://example.com

sind, sofern sie in der obersten .htaccess liegen, in der Funktionsweise exakt identisch. Beide leiten jedweden Pfad /X vom jeweiligen Webserver nach example.com/X um.

Der Unterschied zwischen Redirect und RewriteRule ist, dass RewriteRule weitaus mehr kann als banale Umleitungen wie oben auszuspucken. Dafür braucht RewriteRule aber auch mehr Leistung, insofern zeugt der Einsatz von RewriteRule hier von wenig Umsicht. Auch wenn's bei heutiger Hardware sicher wurscht ist, man kauft doch auch keinen Mähdrescher, um den Kleingartenrasen zu mähen.
zauberstern hat geschrieben:dann kann ich weder die alte noch die neue Website aufrufen. Wenn ich die .htaccess wieder rauslösche, dann kann ich wieder beide aufrufen.
Dein Server führt Fehler- und Zugriffsprotokolle, mit diesen solltest du dich unbedingt anfreunden, insbesondere das Fehlerprotokoll ist überaus wichtig. Frage deinen Hoster, wo du die Dateien findest.

Was jetzt das eigentliche Problem angeht:
Jedwede Anweisung, die du in der .htaccess einträgst, gilt für dieses Verzeichnis (und alle darunter liegenden), egal welche Domain angefragt wurde. Somit gilt die Anweisung „leite / nach example.com/ weiter“ auch dann, wenn wir schon in example.com stecken. Ergo: Endlosschleife.

Verfasst: 15.09.2008, 15:28
von SloMo
Mork vom Ork hat geschrieben:Nein, die beiden Zeilen
RewriteRule .* https://example.com/$1 [R=301,L]
und
Redirect permanent / https://example.com
sind, sofern sie in der obersten .htaccess liegen, in der Funktionsweise exakt identisch.
Danke für die Korrektur. Stimmt, alles was bei dem Redirect mit / beginnt wird umgeleitet, also auch Unterverzeichnisse. Dann ist der Robots Exclusion Standard also nicht das einzige Konstrukt, das derart unflexibel mit Pfaden umgeht. Dass ich das noch erleben darf.

Verfasst: 15.09.2008, 16:08
von Mork vom Ork
SloMo hat geschrieben:was bei dem Redirect mit / beginnt wird umgeleitet, also auch Unterverzeichnisse. Dann ist der Robots Exclusion Standard also nicht das einzige Konstrukt, das derart unflexibel mit Pfaden umgeht.
Wieso unflexibel? Ich finde das recht praktisch, da für die häufigsten Anwendungsfälle passend. Für besondere Sorgen kann man ja auf RedirectMatch zurückgreifen.

Verfasst: 16.09.2008, 08:31
von zauberstern
Hallo, hier der screenshot:

Bild

Jemand ne Idee?
Gruß

Verfasst: 16.09.2008, 08:44
von jackwiesel
:rofl:

Verfasst: 16.09.2008, 09:31
von Mork vom Ork
Wir sind in dieser Frage hier alle vollkommen ideenlos, das müsstest du an den wenigen und geradezu einsilbigen Antworten schon bemerkt haben …

Verfasst: 16.09.2008, 09:46
von jackwiesel
Ich bitte um Verzeihung, konnte mir das nicht verkneifen - durch irgend eine Konstellation hast Du offensichtlich eine Endlosschleife erzeugt. Ich würde alles, was Du gemacht hast verwerfen und noch mal von vorn anfangen - oder mal mit dem Support Deines Hosters sprechen - wenns mit Deinem 301 alles in Ordnung ist, werden die das Problem kennen und auch eine Lösung parat haben.

Verfasst: 16.09.2008, 10:27
von Southmedia
Wie wäre es denn wenn du den Code posten würdest der das verursacht? Und zwar mit dem Hinweis wie die alte und die neue Domain jeweils heißen (kannst sie ja von mir aus verfremnden) damit man das genau nachvollziehen kann...

Ich wette da ist ein ! zu viel oder zu wenig im Code momentan.

Verfasst: 16.09.2008, 10:29
von zauberstern
Hallo, ja ich bin auch ratlos. Aber danke Euch Allen fürs lesen und helfen wollen.
Gruß :(

Verfasst: 16.09.2008, 10:59
von Southmedia
Übersiehst du meine Antwort und Frage absichtlich?