Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Verzeichnishierachie flacher machen - Endlosschleifen

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
sweih
PostRank 5
PostRank 5
Beiträge: 304
Registriert: 20.02.2006, 12:16

Beitrag von sweih » 02.12.2013, 13:28

Hi,

ich habe folgende Ausgangslage als URL:
www.site.com/www/de/stadt/berlin.html

Zielhierarchie ist:
www.site.com/stadt/berlin

Also will ich mit mod_rewrite möglichst ohne viel Umbauarbeiten zu machen (natürlich werden die internen Links angepasst) Umleitungen bauen.

www.site.com/stadt/berlin soll intern den Code von www.site.com/www/de/stadt/berlin.html rausrendern, kann ich erreichen mit:

RewriteRule ^stadt/(.*)$ /www/de/stadt/$1.html [L]


Die alte Seite soll auf die neue URL umgeleitet werden - ist auch kein Hexenwerk:
RewriteRule ^www/de/stadt/(.*).html /stadt/$1 [R=301,L]

Beide Regeln einzeln funktionieren. Zusammen jedoch gibt es einen Endlosredirect - Wie kann ich das unterbinden?

RewriteRule ^www/de/stadt/(.*).html /stadt/$1 [R=301,L]
RewriteRule ^stadt/(.*)$ /www/de/stadt/$1.html [L]

Danke schonmal vorab!!

Thomas B.
PostRank 4
PostRank 4
Beiträge: 137
Registriert: 11.09.2013, 21:04
Wohnort: München

Beitrag von Thomas B. » 02.12.2013, 21:32

Existieren die Seiten als .html auf dem Server oder gibt es noch weitere RewriteRules?

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 03.12.2013, 06:43

sweih hat geschrieben:Beide Regeln einzeln funktionieren. Zusammen jedoch gibt es einen Endlosredirect - Wie kann ich das unterbinden?

RewriteRule ^www/de/stadt/(.*).html /stadt/$1 [R=301,L]
RewriteRule ^stadt/(.*)$ /www/de/stadt/$1.html [L]
Du könntest der zweiten Zeile einen Parameter (z.B. ?noredirect) mitgeben und die erste mit "RewriteCond %{QUERY_STRING} ..." einschränken.

sweih
PostRank 5
PostRank 5
Beiträge: 304
Registriert: 20.02.2006, 12:16

Beitrag von sweih » 03.12.2013, 13:52

@Thomas B. Es ist alles noch viel schlimmer: berlin.html ist ein Verzeichnisname, darin liegt eine index.php

@SloMo: Würde gerne das anhängen vermeiden, um die URLS sauber zu halten.

hab eine php-seitige Lösung im Köcher die seit gestern abend auch funktioniert (ich frag dort einfach die REQUEST_URI ab und vergleich die dann und mach den 301er Redirec von www/de mit php).

Thomas B.
PostRank 4
PostRank 4
Beiträge: 137
Registriert: 11.09.2013, 21:04
Wohnort: München

Beitrag von Thomas B. » 03.12.2013, 21:53

Also greifen da noch weiter Umschreibungen.

Du könntest auch im Verzeichnis www/de/ eine .htaccess erstellen die das macht.

Code: Alles auswählen

RewriteRule ^stadt/(.*).html /stadt/$1 [R=301,L] 
Aber das alles klingt nach einem etwas chaotischen System.

SloMo
PostRank 10
PostRank 10
Beiträge: 4880
Registriert: 04.01.2005, 18:26

Beitrag von SloMo » 03.12.2013, 22:14

sweih hat geschrieben:@SloMo: Würde gerne das anhängen vermeiden, um die URLS sauber zu halten.
Jaja das ist Quatsch. Die parametrisierte URL wäre nach außen unsichtbar gewesen und nur zum Unterbrechen der Endlosschleife da gewesen.

Deine PHP-Lösung ist gleichwertig. Hätte es auch so gemacht.

Antworten