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

modrewrite für teil des dateinamens

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
YesNoCancel
PostRank 4
PostRank 4
Beiträge: 145
Registriert: 08.10.2008, 21:07

Beitrag von YesNoCancel » 17.07.2010, 00:11

Vielleicht hat jemand ne schlaue Idee, aktuell sehen die URLs so aus:

/shop/artikel,4,48484.html
/shop/artikel,4,48483.html
/shop/artikel,4,48482.html
/shop/artikel,4,48481.html
etc.

diese sollen künftig so aussehen:

/shop/artikel,0,48484.html
/shop/artikel,0,48483.html
/shop/artikel,0,48482.html
/shop/artikel,0,48481.html
etc.

Die Idee war:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1\.html [R=301]

Funzt nur nicht, wo ist der Denkfehler?

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.


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

Beitrag von chris21 » 17.07.2010, 00:15

Ok.

Da will jemand von Hamburg nach München fahren und Du sollst ihm per Schild den Weg zeigen.

Also stellst Du in München ein Schild auf, wie er nach Hamburg fahren kann?

Wird ihm das helfen?

YesNoCancel
PostRank 4
PostRank 4
Beiträge: 145
Registriert: 08.10.2008, 21:07

Beitrag von YesNoCancel » 17.07.2010, 00:36

Ich verstehe, worauf Du hinaus willst, aber Deine Metapher ist schlecht. Ich zeige ihm in München ein Schild von Deutschland mit zwei Punkten: München, Hamburg. Eh voila, chch.

D.h. die Alternative, für jeden Artikel einen eigenen Redirect 301?

Redirect 301 shop/artikel,4,48484.html https://www.domain.tld//shop/artikel,0,48484.html

Puh, das werden dann locker 150.000 Stück, hat der Server kräftig was zu tun bei jedem Aufruf.

daniel5959
PostRank 8
PostRank 8
Beiträge: 891
Registriert: 20.04.2010, 22:25

Beitrag von daniel5959 » 17.07.2010, 04:22

Hallo,

bin jetzt kein rewrite-Experte, aber kann es sein, dass 0 und 4 nur getauscht werden müssen?

daniel5959 :)

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 17.07.2010, 08:39

Du hast Chris nicht verstanden:
Ich zeige ihm in München ein Schild von Deutschland mit zwei Punkten: München, Hamburg. Eh voila, chch.
Und was soll das bringen, wenn derjenige in Hamburg steht? Du sollst den Weg von Hamburg nach München zeigen, nicht umgekehrt.

warum 150.000 Stück? Dreh die Rule doch einfach nur um.

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

Leitet weiter von 4 nach 0. Ob Dein Script damit dann was anfangen kann weiß ich nicht.

profo
PostRank 9
PostRank 9
Beiträge: 1703
Registriert: 18.01.2007, 18:51

Beitrag von profo » 17.07.2010, 08:48

YesNoCancel hat geschrieben:Die Idee war:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1\.html [R=301]
Von der Syntax her sieht das eigentlich ok aus, bis auf den Backslash auf der rechten Seite und vermutlich ein "L"ast-Statement:
RewriteRule ^/shop/artikel,0,(.+)\.html$ /shop/artikel,4,$1.html [R=301,L]

Und wenn Du "Rewritebase /" gesetzt hast ist der Slash am Anfang zu viel:
RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [R=301,L]

Abgesehen davon sieht das ja eher nach einer technischen Änderung aus, brauchst Du da wirklich einen 301 oder reicht nicht ein serverinternes Umschreiben der URL?
RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L]

YesNoCancel
PostRank 4
PostRank 4
Beiträge: 145
Registriert: 08.10.2008, 21:07

Beitrag von YesNoCancel » 17.07.2010, 11:45

Servus,

besten Dank für die Tipps. Da hab ich Chris tatsächlich falsch verstanden, war wohl schon spät ;-)

Zum Code:
^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L]

Klingt gut, funktioniert nur leider nicht - d.h. die url wird trotzdem als /shop/artikel,4,48481.html ausgegeben, statt /shop/artikel,0,48481.html

Code: Alles auswählen

#
# rewrite-regeln
#
RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} PHPSESSID 
RewriteRule ^(.*)$ $1? [R=301]

RewriteRule ^shop/artikel,4,(.+)\.html$ shop/artikel,0,$1.html [L] 
Zuletzt geändert von YesNoCancel am 17.07.2010, 12:08, insgesamt 2-mal geändert.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 17.07.2010, 12:02

Du musst Dich nun mal entscheiden. Willst Du die URL intern umschreiben oder sichtbar weiterleiten???

Damit schreibst Du nur intern um

Code: Alles auswählen

RewriteRule ^shop/artikel,0,(.+)\.html$ shop/artikel,4,$1.html [L] 
von 0 nach 4. Was aber schwachsinnig ist, da Du sicherlich keine Datei im Filesystem hast die so heißt "shop/artikel,4,$1.html", oder?

Damit leitest zu weiter:

Code: Alles auswählen

RewriteRule ^shop/artikel,4,(.+)\.html$ shop/artikel,0,$1.html [R=310,L] 
von 4 nach 0

Und, Dein .htaccess-Code da oben wird gar nicht funktionieren, da das "RewriteRule" fehlt.

YesNoCancel
PostRank 4
PostRank 4
Beiträge: 145
Registriert: 08.10.2008, 21:07

Beitrag von YesNoCancel » 17.07.2010, 12:11

Mal wieder bewiesen, never work on weekend. Starker Kaffee intus und alles klappt. Danke für die Idioten-Nachhilfe, wenns mal wieder länger dauert ...

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag