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

Link per .htaccess ändern

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
PSVFabian
PostRank 2
PostRank 2
Beiträge: 37
Registriert: 06.02.2012, 08:04

Beitrag von PSVFabian » 06.03.2012, 19:26

Das sind die möglichen Parameter:

?do=matches&productid=42catid=&title=df&min_price=0&max_price=0&min_rating=&max_rating=

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

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

Beitrag von Melegrian » 06.03.2012, 20:49

PSVFabian hat geschrieben:?do=matches&productid=42catid=&title=df&min_price=0&max_price=0&min_rating=&max_rating=
Auweia, na dann kann das nicht funktionieren. Das sind ja nicht 2 sondern 8 Parameter, die berücksichtig werden müssten. Die müsstest Du dann auch alle mit einbauen. Vorrausetzung wäre, dass es immer 8 wären und nicht einmal mehr oder weniger, ansonsten müssten zusätzliche Regeln erstellt werden.

Da müsste ich mir erst einmal anschauen, wie andere Shops das so handhaben, wenn die ähnlich viele Parameter verwenden. Ich denke, die schreiben nur einen Teilstring um und reichen den Rest so durch, wie er ist. Habe mir das nur mal schnell bei Amazon angeschaut, die schreiben nur die ersten Parameter um, wobei ein Unterstrich verwendet wird und der Rest wird angehängt, wie er ist. Bei den Zeilen ginge das noch:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^do=([a-zA-Z_-]+)&productid=([0-9]+)&(.*)$
RewriteRule ^testseite\.php$ /testseite-%1-%2-%3? [L,R=301]
Doch wie sehe es hier aus?

Code: Alles auswählen

RewriteRule ^testseite-([a-zA-Z_-]+)-([0-9]+)-(.*)$ /testseite.php?var=mitq&var1=$1&var2=$2&$3 [L]
Alles ungetestet, versteht sich, könnte aber so funktionieren und falls nicht, so sind es vermutlich nur kleine Fehler.

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

Beitrag von Melegrian » 06.03.2012, 21:42

PSVFabian hat geschrieben:?do=matches&productid=42catid=&title=df&min_price=0&max_price=0&min_rating=&max_rating=
Da fehlt ein & zwischen 42 und catid, weiß jetzt nicht, ob das so sein soll. Habe deshalb mal a-z0-9 statt nur 0-9 eingesetzt, damit das mit durchflutscht. Das a-z kannst Du wieder herausnehmen, falls da im Normalfall ein & zwischen ist.

Code: Alles auswählen

RewriteEngine on 
DirectorySlash Off

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^testseite.php$ /testseite? [L,R=301]

RewriteCond %{QUERY_STRING} ^do=([a-zA-Z_-]+)&productid=([a-z0-9]+)(.*)$
RewriteRule ^testseite\.php$ /testseite-%1-%2%3? [L,R=301]

RewriteRule ^testseite$ /testseite.php?var=nurso[L]
RewriteRule ^testseite-([a-zA-Z_-]+)-([a-z0-9]+)(.*)$ /testseite.php?var=mitq&do=$1&productid=$2$3 [L]
Ist jetzt getestet und aus

"https://localhost/testseite.php?do=matc ... ax_rating="

wird

"https://localhost/testseite-matches-42c ... ax_rating="

Wenn alle 8 Parameter wie die ersten beiden verbunden werden sollen, dann halt für alle 8 eine -([Zeichenklasse]) definieren oder noch 6 mal -(.*) und mit %1 bis %8 und $1 bis $8 zuordnen.