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

Per .htaccess komplizierte URL rewriten - Frage

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
Garfield
PostRank 9
PostRank 9
Beiträge: 2182
Registriert: 12.10.2004, 10:22

Beitrag von Garfield » 28.11.2005, 13:13

Hallo,

ich habe eine Frage zum URL-Rewriting.

Ich hatte mal dummerweise per .htaccess Dateinamen wie folgt umgeschrieben :

blabla.php?id=4712 :arrow: artikel-4712-Ich%20bin%20die%20Artikelbezeichnung.html

Kam halt dummerweise so raus, weil ich das nicht anders hinbekam. Teilweise waren sogar noch Umlaute ( %E4 = ä ) in dem Dateinamen.

Jetzt habe ich das geändert auf :

artikel-4712-Ich-bin-die-Artikelbezeichnung.html

und die Umlaute werden jetzt zu ae, Ae, oder so.

Jetzt sind zwar die alten Dateien :

artikel-4712-Ich%20bin%20die%20Artikelbezeichnung.html

nirgends mehr verlinkt und werden (hoffentlich) nicht zu Duplicate Content führen. Aber trotzdem wäre es mir lieber, wenn ich die alten Dateinamen trotz der %20 's, %E4 's etc. per 301 weiterleiten könnte auf die neuen Dateinamen.

Habe das dann per .htaccess probiert, mein Server hat dann aber nen 500er-Fehler rausgegeben, egal ob ich ein echtes Leerzeichen oder aber den Prozentcode in die .htaccess geschrieben habe.

Kann mir jemand die richtige Anweisung für die .htaccess sagen, wie ich einen sauberen 301er hinkriege ?

Was wahrscheinlich nicht gehen wird, ist, daß ich einzelne Dateien anlege und im Header dann nen 301er mitsende. Da steht mir die rewrite_rule vermutlich im Weg (habs aber auch noch nicht ausprobiert).

Danke :D

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

In Extremo
PostRank 4
PostRank 4
Beiträge: 133
Registriert: 28.11.2005, 13:57
Wohnort: Berlin

Beitrag von In Extremo » 28.11.2005, 13:59

Schließe mich Garfields Frage an.

Habe genau das selbe Problem!
Bild

tauchvideo
PostRank 2
PostRank 2
Beiträge: 57
Registriert: 01.08.2005, 09:03

Beitrag von tauchvideo » 28.11.2005, 15:53

Ich glaub das wird schwierig.

Ich hätte auf die Schnelle nur die Idee eine Fehlermeldung auszugeben und damit wenigstens das DC-Problem zu lösen:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} .*\%20.* [NC] 
RewriteRule .* - [F,L]
Aber eine Umleitung sollte so ohne weiteres nicht gehen.
Für die Besucher kann man ja eine spezielle Fehlerseite definieren und die damit auf die Startseite zurückholen.

dsich

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.


koboxumi
PostRank 8
PostRank 8
Beiträge: 758
Registriert: 20.08.2005, 13:32
Wohnort: Solingen

Beitrag von koboxumi » 28.11.2005, 16:22

Ich schließe mich auch an!

https://www.domain.de/hotelbewertung/op ... el=Alcudia

Gruß Kobo

Garfield
PostRank 9
PostRank 9
Beiträge: 2182
Registriert: 12.10.2004, 10:22

Beitrag von Garfield » 28.11.2005, 16:23

Danke, dsich. Die Rule funktioniert aber leider nicht, es passiert gar nichts dadurch.

In Extremo
PostRank 4
PostRank 4
Beiträge: 133
Registriert: 28.11.2005, 13:57
Wohnort: Berlin

Beitrag von In Extremo » 28.11.2005, 16:32

Es wird doch wohl im Jahre 2005 möglich sein müssen, ein lächerliches Leerzeichen in einer RewriteRule darzustellen :(

Zum Glück gibt es bei Umlaute keine Probleme.
Bild

tauchvideo
PostRank 2
PostRank 2
Beiträge: 57
Registriert: 01.08.2005, 09:03

Beitrag von tauchvideo » 28.11.2005, 17:28

garfield das konnte nicht gehen, ich hab nicht nachgedacht!

Der Query-String wird ja erst nach dem "?" erzeugt, bei Dir ist es aber innerhalb der URL. Wichtig ist auch das %20 nur die Übersetzung des Leerzeichens ist und so auch innerhalb der htaccess behandelt werden muss.

Diese Rule hier geht:

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME} .*\ .* [NC] 
RewriteRule .* - [F,L]
Ich bin aber auf einen durchaus interessanten Thread gestossen der Dir ggf. weiterhelfen kann. Ich hatte aber bislang nicht die Zeit dies auszuprobieren.

Schau mal Hier

dsich

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 28.11.2005, 17:45

Das funktioniert nur so halb. Also, ich (der gleiche wie bei modrewrite) kann zwar jetzt bei einer Abfrage auf %20wort%20 .html meine Datei +wort+wort .html rauslesen, aber ich habe es immer noch nicht geschaftt, dass dabei auch wirklich die url umgeschrieben wird. Hätte daher gewissermaßen auch ein DC-Problem wenn mal irgendwer auf die falsche verlinkt.

Und ganz ehrlich: ich blicke da auch nur immer zu 10% durch.

tauchvideo
PostRank 2
PostRank 2
Beiträge: 57
Registriert: 01.08.2005, 09:03

Beitrag von tauchvideo » 28.11.2005, 17:53

Das ist richtig, er schreibt natürlich die URL nicht um sondern interpretiert diese nur anders.

Ich hab es bislang auch noch nicht probiert, hatte keine Zeit dafür.
Die o.g. Rule verhindert aber zumindest den Seitenaufruf wenn ein Leerzeichen drin ist und verhindert damit das DC-Problem.
Es ist nicht die feine englische Art, aber wenigstens eine Notlösung.


dennis

Garfield
PostRank 9
PostRank 9
Beiträge: 2182
Registriert: 12.10.2004, 10:22

Beitrag von Garfield » 28.11.2005, 20:02

@dsich: Nochmals danke, aber auch diese Rule hat bei mir überhaupt keine Wirkung.

Ich werde mich mal durch den Thread lesen, den du verlinkt hast.

tauchvideo
PostRank 2
PostRank 2
Beiträge: 57
Registriert: 01.08.2005, 09:03

Beitrag von tauchvideo » 28.11.2005, 22:47

@garfield

ich hab die Rule aber so getestet! Bei mir geht sie ... genau so !


Dennis

Garfield
PostRank 9
PostRank 9
Beiträge: 2182
Registriert: 12.10.2004, 10:22

Beitrag von Garfield » 29.11.2005, 08:24

Seltsam. Trotzdem vielen Dank für deine Mühe !

In dem modrewrite-Forum hab ich mich auch mal ein wenig durchgelesen, aber noch keine Lösung gefunden.

Ich werde es dann wohl so machen müssen, daß ich die alten artikel-4712-bezeichnung.html komplett ändere in art-4712-bezeichnung.html, damit artikel-... nicht mehr erreichbar ist.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 30.11.2005, 19:21

@Garfield:

Ich verwende jetzt folgendes und das funktioniert auch:
RewriteEngine On
RewriteRule ^(.+)\ (.+)\.html$ $1\+$2\.html [NC]
RewriteCond %{REQUEST_URL} GET\ (.+)\ (.+)\.html
RewriteRule ^(.*)$ /$1\+$2.html [R=301,L]
Allerdings mit der bereits oben erwähnten Warnung: dadurch produziere ich DC, da jetzt die Dateien mit "+", mit "%20" und mit " " (Leerzeichen) aufrufbar sind. Weiß also nicht, ob Dir das hilft.

Falls es Dir noch gelingen sollte, eine wirkliche Umleitung zu erreichen, wäre ich natürlich sehr froh, wenn Du dies kundtun könntest.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag