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

Aufrufe mit .html auf selbes Ziel ohne .html umleiten?

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
thomas_x3
PostRank 5
PostRank 5
Beiträge: 214
Registriert: 09.03.2012, 08:41

Beitrag von thomas_x3 » 22.04.2012, 10:43

Da für mich mod_rewrite noch immer ein Buch mit sieben Siegeln ist, frag ich lieber bevor mir alle Haare ausfallen. *gg*
Ich möchte gerne als meine URL's die mit dem .html suffix aufgerufen werden, auf die selbe URL ohne .html Suffix umleiten. Also:

Code: Alles auswählen

example.org/reiseberichte.html > example.org/reiseberichte
example.org/maingallery/laenderstaedte.html > example.org/maingallery/laenderstaedte 
usw.

:o

/edit
Lösung:

Code: Alles auswählen

RewriteRule ^(.+)\.html$ /$1 [L,R=301]

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

thomas_x3
PostRank 5
PostRank 5
Beiträge: 214
Registriert: 09.03.2012, 08:41

Beitrag von thomas_x3 » 22.04.2012, 17:01

Man, ich versteh einfach nicht was bei meiner Seite los ist.
Bei jeder URL kann man bei mir so viele .html's hintereinander angeben wie man möchte?? :evil: Also z.b.:

example.org/reiseberichte.html.html.html

Die Seite wird problemlos aufgerufen. :cry: Weiß jemand wie ich obige Regel umbauen müsste um das auch noch abzufangen?

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 22.04.2012, 18:32

thomas_x3 hat geschrieben:Lösung:

Code: Alles auswählen

RewriteRule ^(.+)\.html$ /$1 [L,R=301]
Das ist keine Lösung, das ist eine Weiterleitung!
thomas_x3 hat geschrieben:Man, ich versteh einfach nicht was bei meiner Seite los ist.
Ein Punkt außerhalb einer [Zeichenklasse] ist ein Metazeichen und steht zusammen mit dem + für beliebig viele weitere Zeichen, also zum Beispiel auch für weitere .html. Ich habe ja schon überlegt, doch wenn ich das jetzt so schreiben würde, dann würde der Apache versuchen, für alle aufgerufenen URLs, die keinen Punkt enthalten, eine URL mit .html auszuliefern.

Code: Alles auswählen

RewriteRule ^([^.]+)$ /$1.html [L]
Das kann es eigentlich noch nicht sein, weil der da wohl mit den Verzeichnissen durcheinander kommen würde. Einfacher ging es, wenn es sich um eine überschaubare Anzahl an Verzeichnissen handeln würde. Dann kann man für jedes Verzeichnis eine Regel angeben, mit den Zeichen, die enthalten sein können. Beispiel:

Code: Alles auswählen

RewriteRule ^haushalt/([a-z_-]+)-([0-9]+)$ /haushalt/$1-$2.html [L]
In dem Fall sollte bei Aufruf von haushalt/neue-besen-72 die Seite haushalt/neue-besen-72.html im Hintergrund laden.

Vielleicht könnte das mit ein, zwei und drei Verzeichnisebenen so aussehen, ist aber nur ein Gedanke und nicht getestet:

Code: Alles auswählen

RewriteRule ^([^./]+)$ /$1.html [L]
RewriteRule ^([^./]+)/([^./]+)$ /$1/$2.html [L]
RewriteRule ^([^./]+)/([^./]+)/([^./]+)$ /$1/$2/$3.html [L]