Simplement en suivant les conseils de Jean-Christophe Duvivier

J'ai configuré mon blog DC2 comme ceci

  • Panneau d'administration > Paramètres du Blog :
  • URL du Blog : L'url complète de votre blog (en ce qui me concerne : http://www.karlesnine.com/)
  • Méthode de lecture de l'url : Sélectionnez PATH_INFO
  • Enregistrez

J'ai évité d'utiliser le .htaccess et j'ai directement porté mes RewriteRule dans la vhost de mon apache 2 comme ceci :

<VirtualHost *:80>
	 ServerName www.karlesnine.com
	 ServerAlias karlesnine.com
	 DocumentRoot /var/www/karlesnine.com
	 ErrorLog /var/log/apache/error.log
	 CustomLog /var/log/apache/access.log combined
 
	# DirectoryIndex index.php
 
	RewriteEngine On
	RewriteLog "/var/log/apache/rewrite.log"
        RewriteLogLevel 0
 
	# Special spam commentaire .ru .china .jp
        RewriteCond %{REMOTE_ADDR} ^81\.177\.14\.[0-255]        [OR]
        RewriteCond %{REMOTE_ADDR} ^81\.177\.15\.[0-255]        [OR]
        RewriteCond %{REMOTE_ADDR} ^121\.14\.75\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^210\.159\.140\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^210\.136\.18\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^59\.157\.220\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^59\.156\.227\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^222\.229.\216\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^203\.141\.129\.[0-255]	[OR]
        RewriteCond %{REMOTE_ADDR} ^59\.157\.220\.
	RewriteRule .* -                                        [F,L]
 
 
	RewriteCond %{REQUEST_URI} !^(/admin/|/cache/|/db/|/images/|/inc/|locales/|/plugins/)
	RewriteCond %{REQUEST_URI} !^(/favicon.ico/|/icons/|/local/|/dotclear/|/themes/|/public/)
	RewriteCond %{REQUEST_URI} !^/index.php
	RewriteRule (.*)$ /index.php/$1
 
</VirtualHost>

J'ai découpe la ligne de RewriteCond en deux pour une question de lecture. J'ai ajouter quelque condition entre autre sur favicon.ico qui malgré le plugin myfavicon n'apparaissait pas.