Réécriture d’url pour Dotclear

Publié dans Dotclear | Marqué avec , , ,
Share

Voilà déjà quelques temps que j’ai réussi à réécrire l’url des pages de mon blog Dotclear. Auparavant une page billet avait un url ressemblant à index.php?post/2009/07/16/titre-du-billet.html, et maintenant, elles sont de la forme : /post/2009/titre-du-billet.html. C’est quand même mieux ! On pourrait optimiser encore, mais moi ça me suffit.

Il y a deux choses à faire pour modifier la réécriture des urls sur son blog.

Format d’url des nouveaux billets

Dans les paramètres du blog (Tableau de bord > Paramètres du blog), il est possible de modifier le format d’url des nouveaux billets. Par exemple : Année/Mois/Jour/Titre ou Année/Titre.
Mais il est aussi possible de modifier ça « à la main » (donc avec plus de possibilité) dans about:config (Extensions > about:config).

Format d'urls

PATH_INFO ou QUERY_STRING

Pour faire disparaitre le index.php dans l’url, il suffit ensuite de suivre les directives d’un tutoriel à ce sujet sur le site (assez moche ^^) de Victor Brito : tutoriel réécriture d’url pour Dotclear Voici en gros les étapes à suivre :

  • Modifier dans les paramètres du blog (Tableau de bord > Paramètres du blog) l’url du blog (on enlève index.php/ ou index.php?), et méthode de lecture d’url (PATH_INFO par exemple)
  • Modifier le fichier inc/config.php en décommentant, commentant les lignes indiquées (suivre ce que disent les commentaires du fichier)
  • Modifier ou créer un fichier.htaccess (à la racine du blog) et lui ajouter le code suivant, en l’adaptant :
    #DotClear 2 nécessitant PHP 5, on déclare que les fichiers .php doivent être interprétés comme du PHP 5 AddType x-mapp-php5 .php
    #Si cela ne fonctionne pas, commenter la ligne au dessus et dé-commenter les 2 suivantes
    #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/
    

Et voilà, votre blog sait maintenant gérer de beaux urls !

Un peu de SEO

Pour éviter de perdre tout le référencement des anciens urls, il peut être de bon ton d’utiliser une redirection 301. Une redirection 301 précise à Google qu’une page a changer d’url de manière permanente. (302 c’est pour un changement d’url de manière temporaire) A utiliser avec parcimonie, mais à utiliser quand même. Pour cela, il suffit d’ajouter une règle de réécriture dans le .htaccess. Par exemple, pour rediriger la page ancienne-page.html vers nouvelle-page.html, on utilise :

RewriteRule ^ancienne-page.html$ nouvelle-page.html [R=301]

Dans notre cas, on pourrait donc utiliser une réécriture automatique, du style :

RewriteRule ^index.php\?(.*)$ $1 [R=301]

Pour tester, il suffit d’aller à l’ancienne url et de voir si on est redirigé.

Pour lire plus loin

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*