Supposons que vous avez votre version 1.x dans le dossier "dotclear" et votre version 2.x dans un dossier "blog" (c'est mon cas) :

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é :)