Seite 1 von 1

modrewrite Umbenennung

Verfasst: 01.03.2009, 01:09
von petefish
Hallo

Ich befasse mich erst seit kurzem mit Modrewrite.

Ich möchte Dateien per RewriteRule umbenennen. Das funzt auch.
Um doppelten Content zu vermeiden will ich dann den Originalnamen per 301 auf den neuen Dateinamen umbenennen. Das funktioniert komischer weise nur teilweise.

Meine htaccess:

Code: Alles auswählen

RewriteEngine On

#www einfügen
RewriteCond %{HTTP_HOST} !^www\.domain\.de$
RewriteRule ^(.*) http://www.domain.de/$1 [R=301,L]

#301 für Artikel
RewriteRule ^dateiname1.php$ http://www.domain.de/artikel/kategorie/bezeichnung.html [R=301,L]

#301 für Artikel2
RewriteRule ^dateiname2.php$ http://www.domain.de/artikel2/bezeichnung.html [R=301,L]

#Umbenennung Artikel
RewriteRule ^artikel/kategorie/bezeichnung.html$ dateiname1.php [QSA]

#Umbennenung Artikel2
RewriteRule ^artikel2/bezeichnung.html$ dateiname2.php [QSA]
Aufruf www.domain.de/artikel/kategorie/bezeichnung.html geht.
Aufruf www.domain.de/dateiname1.php wird auf www.domain.de/artikel/kategorie/bezeichnung.html weitergeleitet. Passt!.

Aufruf www.domain.de/artikel2/bezeichnung.html und www.domain.de/dateiname2.php Fehler Umleitungsschleife. Aber WARUM? Wo ist da der Unterschied zum 1. Aufruf?

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Re: modrewrite Umbenennung

Verfasst: 01.03.2009, 11:54
von Mork vom Ork
petefish hat geschrieben:Ich möchte Dateien per RewriteRule umbenennen.
Wenn du eine einzelne Datei umbenennen möchtest, dann mache dies auch, anstatt mit mod_rewrite die Anfrage zu ändern. Wenn du eine Anfrage lediglich extern weiterleiten möchtest, benutze Redirect oder RedirectMatch, nicht mod_rewrite.
mod_rewrite ist für speziellere Dinge (die www-Angelegenheit zum Beispiel) oder um Anfragen intern nach einem Schema zu bearbeiten. Für einfache Dinge bereitet mod_rewrite zu viel Aufwand, sein Einsatz entsprechend schlechter Stil.
Aufruf www.domain.de/artikel/kategorie/bezeichnung.html geht.
Aufruf www.domain.de/dateiname1.php wird auf www.domain.de/artikel/kategorie/bezeichnung.html weitergeleitet. Passt!.

Aufruf www.domain.de/artikel2/bezeichnung.html und www.domain.de/dateiname1.php Fehler Umleitungsschleife.
Das musst du nochmal erklären: Erst schreibst du „/dateiname1.php wird […] weitergeleitet“, dann schreibst du „/dateiname1.php Fehler“.

Davon abgesehen könnte das Problem schlicht sein, dass du erst artikel.html in dateiname.php änderst, anschließend wird die Anfrage intern erneut abgearbeitet und die Weiterleitung von dateiname.php nach artikel.html ausgeführt - woraufhin der Browser die Anfrage erneut startet und du in der Schleife landest.

Verfasst: 01.03.2009, 13:26
von petefish
Ups das sollte natürlich bei dem Fehler dateiname2.php heißen, hab es editiert.

Die Dateien kann ich nicht so einfach umbenennen. Das CMS unterstützt keine Umbenennung, dann müsste ich jede Seite nochmal neu erstellen + die Kategorisierung in Ordner. Das wäre relativ viel Arbeit.