37x Forum

37x Forum (http://www.37x.de/forum.php)
-   Internet Computer (http://www.37x.de/internet-computer/)
-   -   301 Weiterleitung mit .htaccess (http://www.37x.de/internet-computer/476-301-weiterleitung-mit-htaccess.html)

webmasterexergerer 23.06.2005 02:08

301 Weiterleitung mit .htaccess
 
Wenn eine Domain auf eine andere verweisen soll, kann man es bequem mit einer 301 (permanetly move) einrichten.
Es gibt mehrere Möglichkeiten.
Per mod_rewrite:

PHP-Code:

 RewriteEngine On
RewriteCond 
%{HTTP_HOST} ^www.alte-domain.de
RewriteRule ^(.*)$ http://www.neue-domain.de/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^alte-domain.de$ [NC]
RewriteRule ^(.*)$ http://www.neue-domain.de/$1 [R=301,L] 

das als .htaccess abspechern und in das root Verzeichnis kopieren.
Es sollte auch noch eine index.html vorhanden sein, diese darf aber leer sein.

webmasterexergerer 23.06.2005 14:56

301 Weiterleitung mit php
 
Man kann natürlich auch so eine Weierleitung direkt in eine Datei einbauen.
Der Code sollte dann so aussehen:
PHP-Code:

 <?php 
header
("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.neue-domain.de"); 
header("Connection: close"); 
?>


webmasterexergerer 08.07.2005 15:09

Das ganze kann natürlich auch von der eigenen Domain geschehen. Der Code zur Standartdomain ( Wichtig um Doppelten Content zu vermeiden.
Standartdomain bei gleicher Domain:
PHP-Code:

 
RewriteCond 
%{HTTP_HOST} !^www\.Deine-Domain\.de$
RewriteRule ^(.*)$ http://www.Deine-Domain.de/$1 [L,R=301] 

PHP-Code:

 Standartdomain bei unterschiedlicher Domain
RewriteCond %{HTTP_HOST} ^www\.Deine-andere-Domain\.com$
RewriteRule ^(.*)$ http://Deine-Domain.de$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^Deine-andere-Domain\.com$
RewriteRule ^(.*)$ http://Deine-Domain.de$1 [L,R=301] 

ungetestet: aber auch recht funktionell für die definition einer Standartdomain:
PHP-Code:

RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L] 

Bei allen Beispielen ein :
PHP-Code:

 Options +FollowSymLinks
RewriteEngine on 

dafor und das als .htaccess in das Rootverzeichnis kopieren

webmasterexergerer 18.07.2005 12:26

Falls kein mod_rewrite installiert ist, kann man es auch mit php realisieren, eine Standartdomain festzulegen

PHP-Code:

 if(!preg_match("/^www\./",strtolower($_SERVER['HTTP_HOST'])))
{
header("Status: 301 Permanently Moved");
header("Location: http://www.Deine-Domain.de{$_SERVER['REQUEST_URI']}");
exit(
0);



picknikker 04.10.2007 10:45

Tach auch,

ich weiss dieser Thread ist sehr alt. Habe trotzdem ein Problem zu schildern und hoffe inständig auf Eure Hilfe:

Ich habe Webspace bei Strato und einige Domains im selben Hosting-Paket. Auf das Webspace habe ich jetz eine Seite aufgeschaltet, die von fast allen Domains aus diesem Paket erreichbar ist. Die Weiterleitung dafür habe ich im Strato-Menue hinterlegt.

Nun habe ich meine Seite bei seitwert.de testen lassen und der erzählt mir was von doppeltem Inhalt und der Content sei unter www.meinedomain.de erreichabr wie auch über meinedomain.de. Nun las ich etwas über 301-Weiterleitungen per PHP, mit den Man das Problem lösen könne. Folgendes Problem ergibt sich bei mir:

der Content liegt nicht im Stammverzeichnis, sondern in einem anderen Ordner, der die index.php (die eigentliche Startseite) beherbergt.
Fast alle Domains in diesem Paket verweisen auf diesen Ordner. In diesem Verzeichnis habe ich den Ordner redirect angelegt, der die index.php mit dem überall vorzufindenden PHP-Code für 301-Weiterleitungen beinhaltet:

<?php
header
("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.neue-domain.de");
header("Connection: close");
?>

Statt der http://...-Adresse habe ich "../projektordner" als Location angegeben. (vorher habe ich es aber auch mit einem http://-Verweis auf die eigentliche index.php versucht, aber innerhalb des selben Webhosting-Paketes ist es glaube ich nicht wirklich nötig) und alle Domains auf den redirect/ - Ordner verwiesen. Was passiert? Der Browser lädt sich "nen Wolf", weil er in eine Endlos-Schleife läuft... Habe daraufhin die Weiterleitung der Haupt-Domain (Stratoseitig) auf die eigentliche Startseite abgeändert. Nun funktionieren die anderen PHP-Weiterleitungen zwar alle, aber habe ich nicht immer noch das Problem von "mit WWW." und "ohne WWW." Ich habe da irgendwo einen Denkfehler drin, glaub ich. Vielen Dank für Eure Hilfe im Voraus. Nur eines muss ich direkt anmerken: Der Umzug der Startseite index.php ins Stammverzeichnis kommt leider nicht in Frage. Wie kann man hier tricksen? Mit htacsess etc. kenne ich mich leider nicht aus. Wäre toll, wenn die Lösung in PHP wäre. Danke noch Mal

webmasterexergerer 04.10.2007 12:07

Heutzutage würde ich das am besten bei google selber einstelleun unter: http://www.google.com/webmasters/ und dann auf Website tools die Standartdomain angeben

picknikker 05.10.2007 09:09

Ja, danke auch für den Hinweis. Kann es sein, daß diese Funktion in den Webmastertools gerade abgestellt worden ist? Irgendiwe kann ich da ausser der robots.txt-Prüfung nichts weiter machen - es lässt sich nichts anklicken.

picknikker 05.10.2007 09:24

Sorry, hat sich gerade erledigt... Die Bedienung bei Google ist ja nicht wirklich preisverdächtig!

Andreas 10.09.2008 21:37

Hallo an alle!
Ich habe ein kleines Problem und komme nicht weiter, vielleicht könnt ihr mir da weiter helfen.
Und zwar möchte ich meine-domian.de auf www.meine-domain.de mit einer 301 Weiterleitung per .htaccess einrichten. Auf der Domain habe ich aber einen A-Record eingerichtet der auf eine andere IP zeigt. Kann da dann überhaupt eine 301er Weiterleitung funktionieren? Falls ja, wie löse ich es am einfachsten? Vielen Dank im Voraus für eure Antworten.

Gruß
Andreas

mgutt 03.12.2008 23:49

Die Weiterleitungen sollten so funktionieren wie oben beschrieben.

Welche IP hinterlegt ist, ist imho uninteressant, da sowohl www. als auch ohne www. auf die gleiche IP verweisen. Es geht ja nur darum, dass ohne www. erstmal auf www. weitergeleitet wird.

Gruß

Dimebag 07.04.2011 09:01

301 mit Umlauten
 
Wow, ganz altes Thema, aber für mich gerade Topaktuell:

PHP-Code:

RewriteCond %{HTTP_HOST} ^www.meyer-ihr-b(ä|Ä|ä|Ä)cker.de$
RewriteRule ^(.*)$ http://www.meyer-ihr-baecker.de$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^meyer-ihr-b(ä|Ä|ä|Ä)cker.de$
RewriteRule ^(.*)$ http://www.meyer-ihr-baecker.de$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^meyer-ihr-baecker.de$
RewriteRule ^(.*)$ http://www.meyer-ihr-baecker.de$1 [L,R=301] 

Alles funktioniert, seltsamerweise nur das RewriteCond %{HTTP_HOST} ^meyer-ihr-b(ä|Ä|ä|Ä)cker.de$ nicht. Mit WWW tut es, ohne WWW nicht... woran kann das liegen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32 Uhr.

Powered by vBulletin