Installation de XoRewrite

XoRewrite est un plugin qui permet la réécriture d'URL pour un site sous Xoops. Il utilise pour cela le module mod-rewrite d'Apache. Avant d'aller plus loin, merci de vérifier si votre hébergement est compatible avec l'URL_REWRITING.

Où le télécharger

Vous pouvez le télécharger ici.

Installation

L'installation est simple, il suffit de copier l'ensemble des répertoires et fichiers à la racine de votre site Xoops. Les fichiers sont :

  • /Frameworks/smarty/xoSmartyFunctions.php
  • /configs/xoRewriteHtaccess.ini.php
  • /configs/xoRewrite.ini.php
  • /class/smarty/xoops_plugins/outputfilter.xoRewriteModule.php

La configuration

La configuration de xoRewrite se fait en 3 étapes.

1ère étape

On modifie le fichier /configs/xoRewriteModule.ini.php

Ce fichier sert a modifier les URL présents dans le contenu du site avant l'affichage. Très pratique car cela évite de devoir modifier les articles sur un site existant.

Voici un exemple de configuration :

profile = "utilisateur"
pm = "message_prive"
news = "nos_informations"

La syntaxe est très simple, en premier c'est le nom du module et entre guillemets le nom souhaité. Ici un lien du genre http://www.zonewebmaster.eu/modules/news s'affichera http://www.zonewebmaster.eu/nos_informations .

Seconde étape

On créé ou on modifie le .htaccess à la racine du site Xoops et on y ajoute les lignes suivantes.

#Xoops : Start xoRewriteModule
RewriteEngine on
RewriteRule ^utilisateur/(.*)$ /modules/profile/$1 [L]
RewriteRule ^message_prive/(.*)$ /modules/pm/$1 [L]
RewriteRule ^nos_informations/(.*)$ /modules/news/$1 [L]
#Xoops : End xoRewriteModule

La syntaxe est un peu plus plus complexe à comprendre mais je vais essayer de vous l'expliquer.

Avec la ligne RewriteEngine on, on active l'URL_REWRITING. Attention a bien veiller que le module URL_REWRITING d'Apache soit installé sur votre serveur ou hébergement.
La ligne RewriteRule ^utilisateur/(.*)$ /modules/profile/$1 [L] est une règle de redirection.
Le ^ indique que c'est le début de l'URL (après le nom de domaine).
utilisateur/ est l'URL source et pointe vers /modules/profiles/ qui est l'URL cible. (.*) est une parenthèse capturante qui prend en compte n'importe quel caractère. $ indique que c'est la fin de l'URL. $1 met le contenu de la parenthèse capturante ci-dessus à sa place.

Dernière étape

On modifie le fichier header.php qui se trouve à la racine du site, pour indiquer à Xoops d'appliquer le filtre qu'on a configurer à la première étape.

On recherche la ligne suivante (chez moi, c'est la ligne 60):

$xoopsTpl =& $xoTheme->template;


et on remplace par :

$xoopsTpl =& $xoTheme->template;
$xoopsTpl->load_filter('output', 'xoRewriteModule');


Conclusion

Voilà la fin de l'installation et de la configuration de xoRewrite pour Xoops. Vous pouvez tester votre site et normalement si vous ne vous êtes pas trompé cela doit fonctionner sans problème.

Une petite méthode simple pour tester xoRewrite : Tapez directement une URL ayant la nouvelle forme dans la barre de votre navigateur. Si vous obtenez une erreur 404, voir le fichier .htaccess ou la configuration de votre serveur Apache. Ensuite cliquez sur un lien présent dans l'article d'un de vos site déjà existant, si vous obtenez une erreur 404 ici, voir le fichier xoRewrite.ini.php