Xoops URL rewriting Mod Rewrite de Kenogui

Après une mise à jour de Xoops il arrive qu’il faille réinstaller le Mod Rewrite de Kenogui car celui ci modifie les fichiers header.php et footer.php écrasés par la mise à jour.

Si besoin vous pouvez télécharger le Mod Rewrite de Kenogui pour faire l’URL rewriting Xoops.

Si vous l’avez déjà installé sur votre serveur et que les fichiers ModRegExp.php et SubDomainProtect.php sont présents, ne les uploadés pas à nouveau, vous perdriez vos personnalisations d’URL rewriting. De même n’écrasez pas le fichier .htaccess.

La problématique vient du fait que le Mod Rewrite de Kenogui date un peu et sa procédure d’installation ne correspond plus aux versions récentes de Xoops.

Voici la procédure actualisée pour modifier les fichiers header.php et footer.php pour les Xoops >= 2.0.14

Editez le fichier header.php et faites les modifications suivantes.

En tout début de fichier juste après la balise de début de code php <? ajoutez :

//kenogui - mod rewrite ---------------------------------------
// bandwidth saving - escape cross indexing with/without WWW
include('SubDomainProtect.php');
//opening the buffer and call the mod
ob_start();
include('ModRegExp.php');
//-- end hack --------------------------------------------------

Cherchez :

$xoopsTpl->assign_by_ref( 'xoBlocks', $aggreg->blocks );

Ajoutez juste après :

//kenogui HACK -- rewrite urls in main block (module in fact) before putting it in cache file
$rewrittenContent=replace_for_mod_rewrite($xoopsTpl->fetch($xoopsCachedTemplate, $xoopsCachedTemplateId));
$xoopsTpl->assign('xoops_contents', $rewrittenContent);
$xoopsTpl->assign('xoops_contents', $xoopsTpl->fetch($xoopsCachedTemplate, $xoopsCachedTemplateId));
//--- end hack -------------------------------------------------------------------------------

Cherchez :


if ( $xoopsModule ) {
$xoTheme->contentCacheLifetime = @$xoopsConfig['module_cache'][ $xoopsModule->getVar('mid', 'n') ];
}

Ajoutez juste avant :

//kenogui HACK -- rewrite urls in every side blocks before putting them in cache file
$bcontent=replace_for_mod_rewrite($bcontent);
//--- fin hack ----------------------------------------------------------------------

Enregistrez le header.php modifié.

Editez le fichier footer.php et juste avant la balise de fin de code php ?> qui se trouve à la fin ajoutez :

//kenogui - mod rewrite --
//store buffer in $rewrite
$rewrite = ob_get_contents();
// delete output buffer and stop buffering
ob_end_clean();
//display modified buffer to screen
echo replace_for_mod_rewrite($rewrite);
ob_end_flush();
//-- end hack -----------

Enregistrez le footer.php modifié.

Allez sur votre site vérifier que l’URL rewriting fonctionne à nouveau.

1 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *