Hallo Matthias!
matthias@wiedmer hat geschrieben:[...] man sieht das der link noch /redaxo/ vorangestellt hat. (eventuell nochmal den suchindex neu erstellen, den artikel bearbeiten und nochmal speichern).
das ganze ist nur duch ein leeren des systemcaches zu korriegieren. sobald aber der artikel wieder bearbeitet und gespeicher wird, bekommen alle links wieder ein /redaxo/ Das ganze ist natürlich total störend.
Ich bin durch Zufall ebenfalls auf dieses Problem gestoßen.
matthias@wiedmer hat geschrieben:soweit ich das verstanden habe erzeugt rexsearch eingständig den cache und stellt dabei das /redaxo/ vor die links.
Bei mir hat RexSearch damit nichts zu tun. Das Suchaddon bekommt die Inhalte ja auch bloß von Redaxo.
Das Problem tritt dann auf, wenn ich Redaxo auf dem Webserver in einem Unterverzeichnis installiert habe und auch darüber aufrufe. [*]
Dabei habe ich die gleichen Symptome festgestellt wie du: Die Links wurden mit "
/redaxo/" gebildet, aber sobald ich den Systemcache löschte war alles ok.
RexSEO hat das Problem schon erkannt und versucht dieses "
/redaxo/" innerhalb von Links während des Ersetzens der URLs mit Hilfe der Funktion
rexseo_fix_42x_links zu eliminieren. Allerdings gibt es hier die
Probleme mit dem Unterverzeichnis. Du musst die Funktion mit folgendem Code ersetzen:
Code: Alles auswählen
function rexseo_fix_42x_links($params)
{
global $REX;
$relpath = trim(substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/') + 1), '/');
// http://www.php.net/manual/de/function.strrpos.php#80008
if((false === strpos($relpath, '/')) OR (false === $pos = strlen($relpath) - strpos(strrev($relpath), strrev('/redaxo')) - strlen('/redaxo')))
{
$relpath = '/redaxo/';
$replacement = '/';
}
else
{
$replacement = '/'.substr($relpath, 0, $pos).'/';
$relpath = '/'.$relpath.'/';
}
// textile, tiny
return str_replace(
array('":'.$relpath, '"'.$relpath),
array('":'.$replacement, '"'.$replacement),
$params['subject']
);
}
Die Funktion ist in der Datei
/redaxo/include/addons/rexseo/config.inc.php zu finden. Solltest du nicht RexSEO verwenden, musst du den Code natürlich an der entsprechenden Stelle deines URL-Rewriters platzieren.
Ich hoffe, das löst dein Problem.
[*] Mit einer Subdomain gibt es das Problem nicht.