Réécriture d'URL pour DotClear et DotClear 2 en "path info" chez Nuxit
Par Victor Brito, jeudi 13 septembre 2007 à 18:04 :: Causeries autour du Web :: #18
DotClear, le célèbre gestionnaire de blogs, pond par défaut des URLs de type monsite/dotclear/index.php?2007/09/13/1-titre-du-billet (en mode « query_string ») ou monsite/dotclear/index.php/2007/09/13/1-titre-du-billet (en mode « path_info »), ou bien, pour DotClear 2, de type monsite/dotclear/index.php?post/2007/09/13/Titre-du-billet (en mode « query_string ») ou monsite/dotclear/index.php/post/2007/09/13/Titre-du-billet (en mode « path_info »).
Dieu, que cet index.php est laid ! Mais, comment s'en débarrasser quand on est chez Nuxit ?
Avec DotClear 1.2.x
D'abord, une fois connecté à l'interface d'administration du blog (monsite/dotclear/ecrire), à l'onglet « Outils », rubrique « Configuration de Dotclear », on vire index.php/ (ou index.php?, si le mode « query_string » est adopté) dans le champ « URL vers le weblogue », puis on vérifie que le type des URL choisi est bien « path_info » (ce type est préférable pour une meilleure indexation du blog dans les moteurs de recherche). On sauvegarde les modifications.
Ensuite, on crée un fichier .htaccess, qu'on place dans le dossier du blog (« dotclear », si l'on n'en a pas modifié le nom). Ce fichier doit comporter le code suivant :
#Le mode « path_info » n'étant disponible qu'en PHP 5 chez Nuxit,
#on déclare que les fichiers .php doivent être interprétés comme du PHP 5
AddHandler x-httpd-php5 .php
AddType application/x-httpd-php5 .php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dotclear/index.php
Avec DotClear 2
D'abord, une fois connecté à l'interface d'administration du blog (monsite/dotclear/admin), dans le tableau de bord, rubrique « Paramètres du blog », on vire index.php/ (ou index.php?, si le mode « query_string » est adopté) dans le champ « URL du blog », puis on vérifie que la « méthode de lecture de l'URL » choisie est bien « path_info » (pour les mêmes raisons que plus haut). On sauvegarde les modifications.
Ensuite, on édite le fichier inc/config.php, afin d'en décommenter les dernières lignes et d'obtenir le résultat suivant :
<?php
[...]
// If you have PATH_INFO issue, uncomment following lines
if (!isset($_SERVER['ORIG_PATH_INFO'])) {
$_SERVER['ORIG_PATH_INFO'] = '';
}
$_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
?>
Enfin, on crée un fichier .htaccess, qu'on place dans le dossier du blog (« dotclear », si l'on n'en a pas modifié le nom). Ce fichier doit comporter le code suivant :
#DotClear 2 nécessitant PHP 5, on déclare que les fichiers .php doivent être interprétés comme du PHP 5
AddHandler x-httpd-php5 .php
AddType application/x-httpd-php5 .php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /dotclear/index.php/$1
RewriteRule ^index.php$ dotclear/index.php/
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.