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

htaccess Problem

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
MiaWallace
PostRank 2
PostRank 2
Beiträge: 33
Registriert: 20.10.2008, 08:16

Beitrag von MiaWallace » 15.12.2008, 15:01

Hallo zusammen! Ich habe ein Problem mit einer htaccess-Umleitung. Und zwar gibts ein paar falsche alte Links von extern auf meine Seite, die ich gerne per htaccess auf die richtige Seite leiten würde.

Die links sehen etwa so aus:


https://www.domain.de/verzeichnis1/
soll gehen auf https://www.domain.de/seite1.html

https://www.domain.de/verzeichnis1/verzeichnis2/
soll gehen auf https://www.domain.de/seite2.html

https://www.domain.de/verzeichnis1/verz ... /seite.php
soll gehen auf https://www.domain.de/seite2.html


Jetzt hab ich das Problem dass ich nicht weiß, wie ich die umleite. Ich kriege dann solche Effekte:

https://www.domain.de/verzeichnis1/verzeichnis2/ wird auf https://www.domain.de/seite1.html/seite2.html weitergeleitet. Das Problem ist, dass die externen Links nicht auf die Index-Datei gingen sondern direkt auf das Verzeichnis. Weiß jemand, wie ich sowas sauber umleiten kann?
Danke und Gruß,
Mia

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

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 16.12.2008, 19:14

Hättest du deinen Code genannt, hätte dir jemand deinen Fehler zeigen können, aber sei's drum. In /.htaccess entweder für jede URL einzeln:

Redirect permanent /verzeichnis1/ https://www.example.de/seite1.html

Die Eigenart von Redirect, Teile der Ursprungs-URL zu übernehmen, beachten (ist in der Anleitung beschrieben)!

Oder mittels eines Musters:

RedirectMatch permanent ^/verzeichnis2/ https://www.example.de/seite2.html

Leitet immer exakt auf die Ziel-URL um.

MiaWallace
PostRank 2
PostRank 2
Beiträge: 33
Registriert: 20.10.2008, 08:16

Beitrag von MiaWallace » 17.12.2008, 09:26

Hi Mork!

Danke für Deine Antwort. Mein Code sieht so aus:

Redirect permanent /autos/ https://www.onlineshop.de/autos.html
Redirect permanent /autos/audi/ https://www.onlineshop.de/autos-audi.html

Und wenn man dann https://www.onlineshop.de/autos/audi/ aufruft wird man nicht auf https://www.onlineshop.de/autos-audi.html weitergeleitet sondern auf
https://www.onlineshop.de/autos.html/autos-audi.html

Er ersetzt also erst die Umleitung des ersten Verzeichnisses und dann die vom zweiten. :(
Ich weiß, ich hätte das Problem nicht wenn ich nicht das Verzeichnis sondern die jeweilige index-Datei anspringen würde:
Redirect permanent /autos/index.html https://www.onlineshop.de/autos.html
Redirect permanent /autos/audi/index.html https://www.onlineshop.de/autos-audi.html

Leider gibt es aber externe Links die direkt auf die nicht mehr vorhandenen Verzeichnisse verweisen. Diese möchte ich gerne weiterleiten.

Ich hoffe, mein Problem wird jetzt klarer? :)

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 17.12.2008, 10:35

MiaWallace hat geschrieben:Danke für Deine Antwort. Mein Code sieht so aus:

Redirect permanent /autos/ https://www.onlineshop.de/autos.html
Redirect permanent /autos/audi/ https://www.onlineshop.de/autos-audi.html

Und wenn man dann https://www.onlineshop.de/autos/audi/ aufruft wird man nicht auf https://www.onlineshop.de/autos-audi.html weitergeleitet sondern auf
https://www.onlineshop.de/autos.html/autos-audi.html

Er ersetzt also erst die Umleitung des ersten Verzeichnisses und dann die vom zweiten. :(
Das hängt mit besagter Eigenschaft von Redirect zusammen, eine Sammelumleitung einzurichten. Redirect /a/ /b/ leitet nicht nur /a nach /b um, sondern auch /a/1 nach /b/1 oder /a/2/3/4 nach /b/2/3/4. Dass da nun so ein Murks rauskommt, ist allerdings IMHO ein Serverfehler, da werde ich mal eine Korrektur vorschlagen.

Du kannst das Problem umschiffen, indem du zuerst die längste bzw. genaueste Umleitung einträgst:

Redirect permanent /autos/audi/ …
Redirect permanent /autos/ …

Alternativ kannst du folgendes nutzen:

RedirectMatch permanent ^/autos/$ …
RedirectMatch permanent ^/autos/audi/$ …

RedirectMatch prüft immer, ob das gegebene Muster exakt passt.

Oder so, passt außer auf /autos/, /autos/audi/ auch auf /autos/vw/, /autos/fiat/ oder /autos/porsche920/.

RedirectMatch permanent ^/autos/$ https://bla.bla/autos.html
RedirectMatch permanent ^/autos/([a-z0-9]+)/$ https://bla.bla/autos-$1.html
Ich weiß, ich hätte das Problem nicht wenn ich nicht das Verzeichnis sondern die jeweilige index-Datei anspringen würde:
Niemals auf /index.xy verweisen (sofern /index.xy bereits als Standardseite für / fungiert)!

Abgesehen davon, dass das Anhängen von index.xy für das Funktionieren überflüssig ist und somit nutzlose Tipperei bedeutet (der einfache Aufruf von / statt /index.xy tut's ja genauso gut), hat man später, falls mal die Seitentechnik geändert wird, auch noch den Ärger mit den Dateiendungen, weil man dann jede /index.html nach beispielsweise /index.php weiterleiten muss. Belässt man es beim einfachen /, stellt sich das Problem gar nicht erst, weil der Server ganz alleine die richtige index.xy raussucht.

Ich verweise bei mir nur noch auf Verzeichnis-URLs - und ich hätte dir geraten, es auch dabei zu belassen, aber dafür ist es jetzt wohl zu spät :)

MiaWallace
PostRank 2
PostRank 2
Beiträge: 33
Registriert: 20.10.2008, 08:16

Beitrag von MiaWallace » 18.12.2008, 10:20

hi Mork!

vielen Dank für die Hilfe :)
Ich bin relativ neu mit dem Thema htaccess-Umleitungen und mein Vorgänger hat da scheinbar auch nicht viel Ahnung von gehabt ;)

Ich hab mich jetzt auch mal an die Umleitung eines häufigen Rechtschreibfehlers meiner Seite gemacht...

Die Url sieht etwa so aus:
https://www.domain.de/neue-auttos-blau/ ... seite.html
und ich will dann auf
https://www.domain.de/neue-autos-blau/i ... seite.html
umleiten..Dazu hab ich mir folgendes gebastelt:

RedirectMatch permanent ^/([a-zA-Z0-9_-]*)auttos([a-zA-Z0-9_-]*)/$ https://www.domain.de/$1autos$2/$

Klappt aber nicht :(
Ich brauche irgendwie einen Platzhalter für neue- und -blau, denn ich habe das Problem auch bei anderen Kombinationen wie zB.
alte-auttos-gruen
Die will ich auch mit erwischen...
Hast Du da noch einen heißen tipp für mich?
Ich habs auch schon mit
(.*) und ([^\.]+) versucht. Oder ist der Fehler ganz wo anders?

LG, Mia

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 19.12.2008, 13:12

MiaWallace hat geschrieben:Die Url sieht etwa so aus:
https://www.domain.de/neue-auttos-blau/ ... seite.html
und ich will dann auf
https://www.domain.de/neue-autos-blau/i ... seite.html
umleiten..Dazu hab ich mir folgendes gebastelt:

RedirectMatch permanent ^/([a-zA-Z0-9_-]*)auttos([a-zA-Z0-9_-]*)/$ https://www.domain.de/$1autos$2/$

Klappt aber nicht :(
Ich brauche irgendwie einen Platzhalter für neue- und -blau, denn ich habe das Problem auch bei anderen Kombinationen wie zB.
alte-auttos-gruen
Vorneweg: Dein Muster ist etwas sehr weitläufig.
- Wenn vor und nach auttos ein Bindestrich steht, solltest du den bzw. diese auch exakt so im Muster angeben. Verwende …-auttos-… statt …auttos….
- Wenn vor und nach -auttos- etwas steht, dann sollte auch dies so angegeben werden. Verwende [a-zA-Z0-9_-]+ statt [a-zA-Z0-9_-]* (+ = mindestens ein Zeichen, * = Null oder mehr Zeichen).

Dein eigentliches Problem dürfte sein, dass du das Muster nach dem Schrägstrich enden lässt (Dollarzeichen = Textende). /neue-auttos-gelb/irgendeineseite.html hat aber hinter dem Schrägstrich noch den Text irgendeineseite.html.
Darüber hinaus hat das Dollarzeichen am Ende der Ziel-URL doch sicher nichts zu suchen, da möchtest du doch wieder irgendeineseite.html hinhaben, oder?

Ich täte es mal so versuchen:

RedirectMatch permanent ^/([a-zA-Z0-9_-]+)-auttos-(.+) https://www.domain.de/$1-autos-$2

Eventuell den Teil vor -auttos-… nochmals überdenken; entweder genauer spezifizieren ([a-z]+) oder vielleicht auch allgemeiner ([^/]+), je nachdem, was da hinkommt. So oder so aber niemals ein weitläufigeres Muster einsetzen als unbedingt nötig!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag