URL Rewriting après passage de Dotclear 1.x à Dotclear 2.x
Par fa7al le samedi 17 octobre 2009, 16:46 - WebDev - Lien permanent
LA v2 de Dotclear utilise des url différentes de la v1.X aussi, quand on a des posts référencés dans google, on risque de voir les liens mener nulle part ... après quelques recherches, voici ma solution.
1- Dans l'ancien dossier de votre version 1.x créez un fichier .htaccess avec ce contenu :
RewriteEngine on
RewriteBase /dotclear/
#racine
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^dotclear/ /blog [L,R=301]
#recherches
RewriteCond %{QUERY_STRING} ^q=([a-zA-Z0-9-]+)$
RewriteRule ^dotclear/index.php /blog/index.php/?q=%1 [L,R=301]
# anciennes URL
RewriteCond %{QUERY_STRING} ^([0-9]{4})/([0-9]{2})/([0-9]{2})/([0-9]{2,3})-([a-zA-Z0-9-]+)$
RewriteRule ^dotclear/index.php /blog/index.php/post/%1/%2/%3/%4-%5? [L,R=301]
# anciennes URL
RewriteCond %{QUERY_STRING} ^([0-9]{4})/([0-9]{2})$
RewriteRule ^dotclear/index.php /blog/index.php [L,R=301]
# anciennes categories
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)$
RewriteRule ^dotclear/index.php /blog/index.php/category/%1? [L,R=301]
# anciennes categories avec année + date
RewriteCond %{QUERY_STRING} ^([A-Z][a-zA-Z0-9-]+)/([0-9]{4})/([0-9]{2})$
RewriteRule ^dotclear/index.php /blog/index.php/category/%1 [L,R=301]
2- Paramétrez dotclear 2.x pour utiliser le mode PATH INFO
3- Le champ URL du blog dans la config doit finir par : blog/index.php/
Problème réglé :)