-
301 Redirect Problem
Hallo!
Ich habe ein Contao-Projekt, dieses verwaltet 2 Websites in einer Installation, z.B. projekt1.de und projekt2.de
Die alten Webseiten auf projekt1.de und projekt2.de sind inhaltlich fast gleich, die neuen Versionen auch.
Nun ist die Verzeichnisstruktur jetzt mit Contao natürlich anders als auf den alten Seiten.
Die alten Seiten sind bei Google gelistet, natürlich mit den alten Links.
Nun möchte ich für diese alten Seiten in der .htaccess 301 Redirects einrichten, also z.B.
Redirect 301 /de/Page/3/geschichte http://www.projekt1.de/de/firmengeschichte.html
Klappt auch einwandfrei, allerdings nur für die eine Domain (hier projekt1.de)
Diese Weiterleitung gilt für den Fall wenn jemand
http://www.projekt1.de/de/Page/3/geschichte
aufruft, die Weiterleitung erfolgt zur neuen Contao-Seite
http://www.projekt1.de/de/firmengeschichte.html
Wenn aber nun jemand
http://www.projekt2.de/de/Page/3/geschichte
aufruft soll er zur Seite
http://www.projekt2.de/de/firmengeschichte.html
weitergeleitet werden.
Nun kann man ja im Redirect 301 - Befehl nur einen Pfad und eine URL angeben.
Für ein Projekt klappt das wie gesagt einwandfrei.
Aber wie organisiere ich die Weiterleitungen des zweiten Projekts.
Ich hoffe ich habe mein Problem verständlich dargelegt.
Vielen Dank!
-
Da musst du mit URL Rewriting arbeiten, da hast du dann die Möglichkeit das Rewriting nur auf eine Domain zu begrenzen mit
Code:
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com [NC]
Die Regular Expression ^(www\.)? kannst du evt. weglassen und nur
Code:
RewriteCond %{HTTP_HOST} ^domain1\.com [NC]
bzw.
Code:
RewriteCond %{HTTP_HOST} ^www\.domain1\.com [NC]
verwenden, wenn du zuvor per URL Rewriting immer auf die Domain mit oder ohne www Subdomain weiterleiten lässt.
-
Redirect 301
Hallo Spooky!
Vielen Dank für deine Antwort.
Also ich leite zuvor zur Domain mit www um:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Aber welchen Befehl muss ich nun für die Weiterleitungen nutzen?
Vielleicht kannst du mir den Code für das von mir genannte Beispiel geben?
Danke!
-
zB.
Code:
RewriteCond %{HTTP_HOST} ^(www\.)?projekt1\.de [NC]
RewriteCond %{REQUEST_URI} ^/de/Page/3/geschichte$ [NC]
RewriteRule .* http://www.projekt1.de/de/firmengeschichte.html [R=301,L]
-
Redirect 301
Hallo spooky!
Danke nochmal.
Und die 2. und 3. Zeile muss ich dann für jede Weiterleitung wiederholen, oder?
Geht das nicht auch so?
HTML-Code:
RewriteCond %{HTTP_HOST} ^www\.projekt1\.de [NC]
Redirect 301 /de/Page/2/uber-uns http://www.projekt1.de/de/unternehmensprofil.html
Redirect 301 /de/Page/3/geschichte http://www.projwkt1.de/de/firmengeschichte.html
usw ...
HTML-Code:
RewriteCond %{HTTP_HOST} ^www\.projekt2\.de [NC]
Redirect 301 /de/Page/2/uber-uns http://www.projekt2.de/de/unternehmensprofil.html
Redirect 301 /de/Page/3/geschichte http://www.projekt2.de/de/firmengeschichte.html
usw ....
-
Nein, du musst alle 3 Zeilen wiederholen. Und nein das geht nicht so.
-
Dann klinke ich mich hier mal kurz ein. Hab mir Eure Beispiele mal angeschaut und an mein Szenario angepasst. Bei mir soll es egal sein ob www. oder shop. davor ist. Das Ziel soll dann ebenfalls relativ von der aktuellen Domain sein.
Code:
RewriteCond %{HTTP_HOST} ^(.*)meinedomain\.de [NC]
RewriteCond %{REQUEST_URI} ^/produkt/braking-s3-batfly-mtb-bremsscheibe\.html$ [NC]
RewriteRule .* /de/mountainbike-parts/bremsscheiben/braking-s3-batfly-mtb-bremsscheibe-30.html[R=301,L]
Das mag aber irgendwie nicht!? Was mach ich falsch? :D
Und wie performant ist es wenn man ca. 100 Redirects mit je 3 Zeilen hat? Das is irgendwie nicht so nice :(
VG