DotClear 2.0 et les redirections d’url

Dotclear

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.

Commentaires

Blaise

De Blaise le 21 août 2006

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!

jaycreation

De jaycreation le 21 août 2006

Bon pour ma part ça n'avait pas fonctionné chez oxito.
J'ai fait quelque chose de bcp plus simple mais ça fonctionne :
http://blog.jaycreation.net/post/En...

Les commentaires pour ce poste sont fermés.