La forme des urls sous DotClear 1 et sous DotClear 2 est légèrement différente. Le forum officiel propose bien une solution, malheureusement ayant modifié mes adresses à la fois sous DotClear 1 et sous DotClear 2.0, je ne peux appliquer cette astuce. J’ai donc du me faire un petit fichier .htaccess perso.
Petit récapitulatif des différences entre les urls de DotClear 1 et celle de DotClear 2
- DotClear 1 standard : index.php/annee/mois/jour/id-titre_du_billet
- DotClear 1 LLaumgui : index.php/titre_du_billet
- DotClear 2 standard : index.php/post/annee/mois/jour/titre_du_billet
- DotClear 2 LLaumgui : /post/titre_du_billet
But de l’opération
Le but est de rediriger les urls de type index.php/titre_du_billet vers post/titre_du_billet. Attention cependant aux pages spéciales de DotClear telles que les archives ou les catégories de billets.
L’.htaccess expliqué :
RewriteEngine On
Activation de la réécriture des urls.
# Redirection sur le www :
RewriteCond %{HTTP_HOST} !^www.llaumgui.com$ RewriteRule ^(.*) http://www.llaumgui.com/$1 [QSA,L,R=301]
On redirige les urls »llaumgui.com » vers »www.llaumgui ». On ne référence ainsi qu’un seul nom de domaine.
####
# Vielles URL DC1 :
# Vieux RSS :
Redirect permanent /rss.php http://www.llaumgui.com/feed/rss2
Redirect permanent /atom.php http://www.llaumgui.com/feed/atom
Redirection des anciennes urls des feeds.
# Vielle TOC :
RedirectMatch permanent /index.php/toc(.*)$ http://www.llaumgui.com/archive
On redirige l’ancien plugin de Table des matières vers les archives de DotClear 2.0
# Vieux billets :
RewriteCond %{REQUEST_URI} !^/index\.php\/?$
RewriteCond %{REQUEST_URI} !^/index\.php/archive
RewriteCond %{REQUEST_URI} !^/index\.php/category
RewriteCond %{REQUEST_URI} !^/index\.php/feed
RewriteCond %{REQUEST_URI} !^/index\.php/page
RewriteCond %{REQUEST_URI} !^/index\.php/post
RewriteCond %{REQUEST_URI} !^/index\.php/tag
RewriteCond %{REQUEST_URI} !^/index\.php/tags
RewriteRule index.php/(.*) http://www.llaumgui.com/post/$1 [QSA,L,R=301]
On redirige les urls de type index.php/titre_du_billet en tenant compte des pages spéciales de DotClear :archives, catégories de billets, etc…
# Disparition du index.php
#Exécution des fichiers en PHP5
AddType x-mapp-php5 .php
#Indication du répertoire racine pour la réécriture
RewriteBase /
#Pas de réécriture si le fichier (-f, file) ou le dossier (-d, directory) existe
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#Passage de la page demandée entière sur le index.php/
RewriteRule (.*) index.php/$1
#Redirige index.php vers index.php/ pour éviter les 404 de DC
RewriteRule ^index.php$ index.php/
#Redirige vers index.php/ si on demande pas de page spécifique
DirectoryIndex index.php
On passe d’urls standards de type index.php/post/titre_du_billet vers un format sans index.php : /post/nom_du_billet.
De Blaise le 25 février 2009
Bonjour!
Je poste sur ce sujet assez ancien mais je me retrouve actuellement dans une problématique de réécriture d'url.
Anciennement, mon blog avec des adresses de ce type : ndd.fr/blog/?titre-article et maintenant, j'ai ndd.fr/blog/?post/titre-article.
Je cherche à rediriger les anciennes adresse (ndd.fr/blog/?titre-article) vers leur équivalent au nouveau format d'url.
est-ce que vous pensez pouvoir m'aider? Parce que là, je perds ton le référencement acquis auparavant...
Merci d'avance!