[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
RexSEO: URL mit ID erweitern - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
DaniH
Beiträge: 81
Registriert: 28. Jan 2010, 17:45
Kontaktdaten: ICQ Website

RexSEO: URL mit ID erweitern

11. Mär 2012, 18:49

Hallo,

ich suche nach einer Möglichkeit RexSEO (1.4.279) um eine ID zu erweitern um damit auf verschiedene Detail-Seiten zugreifen zu können.
aus "/de/kfz/anhaengekupplung.html" will ich "/de/kfz/anhaengekupplung/249/Gerber-detail.html" machen.

Die 249 ist die ID von dem Produkt was ich gerne anzeigen lassen würde.
Das danach stehende soll eigentlich nur noch für SEO und ein schöneres Aussehen sein.

Gibt es hier schon einen Lösungsansatz dafür? Ich habe leider noch nichts finden können.

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: RexSEO: URL mit ID erweitern

11. Mär 2012, 20:55

DaniH hat geschrieben:aus "/de/kfz/anhaengekupplung.html" will ich "/de/kfz/anhaengekupplung/249/Gerber-detail.html" machen.
Die 249 ist die ID von dem Produkt was ich gerne anzeigen lassen würde.
Du kannst via EP die rexseo pathlist um eigene URLs erweitern und auch für jede url gezielt Parameter angeben. Ein Codebeispiel (zwar ohne die erwähnten Paramater, aber das Prinzip wird klar..) dafür findest du hier bzw. hier
vg, Jan

Benutzeravatar
DaniH
Beiträge: 81
Registriert: 28. Jan 2010, 17:45
Kontaktdaten: ICQ Website

Re: RexSEO: URL mit ID erweitern

11. Mär 2012, 23:22

Danke!

Bei der alten Version konnte man das einfach mit einer Änderung in der .htaccess und einer kleinen Änderung im Modul machen, aber mit der aktuellen Version bekomme ich da nur eine Fehlermeldung nach der anderen. Ich schau es mir gleich mal an wie es mit der aktuellen Version geht.

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: RexSEO: URL mit ID erweitern

12. Mär 2012, 00:07

DaniH hat geschrieben:Bei der alten Version konnte man das einfach mit einer Änderung in der .htaccess und einer kleinen Änderung im Modul machen, ..
Welche "alte" Version? Warum beschreibst du nicht was/wie dus früher gemacht hast, und womit du jetzt ein Problem hast?
vg, Jan

Benutzeravatar
DaniH
Beiträge: 81
Registriert: 28. Jan 2010, 17:45
Kontaktdaten: ICQ Website

Re: RexSEO: URL mit ID erweitern

12. Mär 2012, 23:30

Code: Alles auswählen

 $path = substr(($_SERVER['REDIRECT_URL']!=''?$_SERVER['REDIRECT_URL']:$_SERVER['REQUEST_URI']), $length);
Klappt erst ab Apache 2.2

Code: Alles auswählen

RewriteRule (.+)/([^/]+)/([0-9]+)/(.+)\.html$ $1/$2.html?product_id=$3&produkt=$4-details.html&%{QUERY_STRING} [L]
RewriteRule ^([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)- index.php?article_id=$1&clang=$2&product_id=$3&producer_id=$4&%{QUERY_STRING}
RewriteRule ^([0-9]*)-([0-9]*)- index.php?article_id=$1&clang=$2&%{QUERY_STRING}
RewriteRule ^([0-9]*)- index.php?article_id=$1&product_id=$3&producer_id=$4&%{QUERY_STRING}
Rexseo 1.14

Leider bekomm ich das in der aktuellen Version nicht so hin, denn eigentlich war es so perfekt

EDIT: Die auskommentierten Rewrites sind natürlich normalerweise nicht auskommentiert.

Benutzeravatar
DaniH
Beiträge: 81
Registriert: 28. Jan 2010, 17:45
Kontaktdaten: ICQ Website

Re: RexSEO: URL mit ID erweitern

22. Mär 2012, 22:19

Ich glaube ich habe nun einen Lösungsansatz.

Wenn ich in der "class.rexseo_rewrite.inc" in der Zeile 95 nach einer id suche, also meine URL umstelle auf /id31/artikelname-detail.html kann ich mir das ja rausfiltern.

Original

Code: Alles auswählen

$path = substr(ltrim($_SERVER['REQUEST_URI'],'/'), $length);
Idee

Code: Alles auswählen

if(strpos($path,'/id')!==false AND strpos($path,'details')!==false) // Nur wenn ID und details vorkommt
{
$path_array = explode('/id', $path); // Array von Path, erster Teil = path ohne Endung
$path = $path_array[0].".html";
$path2_array = explode('/', $path_array[1]); // Array von Path_array, erster Teil = id
$product_id=$path2_array[0];
}
Das sieht jetzt noch ein wenig holprig aus, klappt aber 1a.

Problem ist nur, dass ich die $product_id nachher auf der Seite nicht zur Verfügung habe.
Wie kann ich darauf zugreifen?

Benutzeravatar
jdlx
Beiträge: 2615
Registriert: 29. Sep 2005, 10:50
Wohnort: Hamburg
Kontaktdaten: Website

Re: RexSEO: URL mit ID erweitern

23. Mär 2012, 01:29

DaniH hat geschrieben:Das sieht jetzt noch ein wenig holprig aus, klappt aber 1a.
...
Problem ist nur, dass ich die $product_id nachher auf der Seite nicht zur Verfügung habe.
Wie kann ich darauf zugreifen?
Was du da machst - am rexseo rewriter rumpatchen - macht nicht wirklich Sinn, zumal du die Auflösung "eigener" URLs eben über den oben genannten EP und die pathlist machen kannst.. da kannst du auch deine params hinterlegen die dann wiederum als normale REQUEST params beim Aufruf der Seite zur Verfügung stehen.

Für die andere Richtung, also Erzeugung spezifischer URLs in die irgendwelche params reincodiert sein wollen gibts - zumindest mal als branch - 2 neue EPs, über die man sich in die URL Erzeugung von RexSEO direkt einklinken kann. D.h. man kann somit auch für eigene URLs trotzdem rex_getURL benutzen, und über den EP den rewrite von RexSEO komplett überspringen, oder verändern.

Falls dir ExtensionPoints suspekt sind, könnte dieser Artikel evtl. hilfreich sein: http://www.redaxo.org/de/doku/extension ... im-detail/
vg, Jan

Zurück zu „Allgemeines [R4]“