Sicher ist der ‘richtige’ Ansatz die seohistory mit der alten url zu füllen. Einfacher ist es aber den basename zu suchen -> in ein Modul die methode decodeUrl() aus oxseodecode.php reinkopieren und ändern:
war:
if ( !$oRs->EOF ) {
// primary seo language changed ?
$aRet = $this->parseStdUrl( $oRs->fields['oxstdurl'] );
$aRet['lang'] = $oRs->fields['oxlang'];;
}
wird:
if ( !$oRs->EOF ) {
// primary seo language changed ?
$aRet = $this->parseStdUrl( $oRs->fields['oxstdurl'] );
$aRet['lang'] = $oRs->fields['oxlang'];
} else {
// looking for basename of sSeoUrl in oxseo - extended by patchwork.de
$oRs = $oDb->select( "select oxstdurl, oxlang from oxseo where oxseourl like '%" . basename( $sSeoUrl ) . "' limit 1");
if ( !$oRs->EOF ) {
if ($oRs->fields['oxstdurl'] != '') {
$aRet = $this->parseStdUrl( $oRs->fields['oxstdurl'] );
$aRet['lang'] = $oRs->fields['oxlang'];
}
ja, ist schon mal ein cooler Ansatz.
Das Produkt wird über den basename in der neuen Kategorie gefunden und $aRet liefert mir die neuen ID-Werte zurück.
Funktioniert allerdings leider nur mit Einschränkungen, denn die Detailseite des Produktes muß mind. schon einmal aufgerufen worden sein, damit die Umleitung funktioniert, damit halt der SEO Datensatz der Detailseite vorhanden ist.
Wenn man die Detailseite nicht vorher aufruft, landet man beim Aufruf der veralteten SEO Url per redirect auf der Startseite.
Was immer noch besser ist, als auf der 404 zu landen
[QUOTE=cooper64;152674] …
Funktioniert allerdings leider nur mit Einschränkungen, denn die Detailseite des Produktes muß mind. schon einmal aufgerufen worden sein, damit die Umleitung funktioniert, damit halt der SEO Datensatz der Detailseite vorhanden ist.
[/QUOTE]
m.W. wird die Zeile in der oxseo doch direkt beim Anlegen/Verschieben des Artikels in eine neue/andere Katergorie angelegt
Meine Intension für dieses Seo-Modul war übrigens:
Google hat ja relativ schnell die Artikel (mit der alten Kategorie) im Index. Wenn Kunden den Artikel bei Google finden und ich ihn in eine neue Kategorie verschoben habe, sind sie früher auf die Startseite redirected worden - heute kommen sie trotzdem auf den Artikel
doch ist so, ohen den vorherigen Aufruf der Detail hat’s mich auf die Startseite geleitet.
Aber vielleicht kann ich den Ansatz nutzen, um den history Eintrag an der Stelle zu schreiben und dann ist es vielleicht wieder ‘rund’ (dazu hatte Frank ja weiter oben noch einen Verweis angehängt).
Werde mir das am WE mal genauer anschauen.