Avec
Dotclear 2 qui se fait attendre,
nombreux sont ceux qui sont en train de migrer vers
WordPress. Afin de conserver les URL, car ceux-ci sont peut-être référencés par d’autres sites, il est important de mettre en place des redirections permanentes par moyen du fichier .htaccess. Cet article n’est que valable si vous choisissez d’avoir une structure d’URL du type :
http://loremipsum.be/2007/05/20/dolor-sit-amet
J’ai aidé quelques personnes ces derniers temps avec la réécriture des URL afin que les permaliens restent valable en faisant une redirection permanente (code 301). Durant ceci, j’ai distingué 2 types d’url pour lesquels je vais vous donner le code à insérer dans votre .htaccess, avant le code
#BEGIN WordPress.
Le premier est du type :
http://loremipsum.be/index.php/2007/05/20/123-dolor-sit-amet
La réécriture de cet URL est simple, il suffit d’insérer les prochaines lignes dans le fichier .htaccess :
RewriteEngine On
RewriteBase /
RewriteRule ^index.php[/]([0-9]+)[/]([0-9]+)[/]([0-9]+)[/][0-9]+-(.+)$ http://loremipsum.be/$1/$2/$3/$4 [R=301,L]
Le deuxième est du type :
http://loremipsum.be/index.php?2007/05/20/123-dolor-sita-amet
La différence avec le précédent est que celui-ci renvoie les données après index.php dans le query string, ce qui fait que j’ai du avoir une approche différente, étant en 2 étapes. La première étape construit un URL avec le querystring injecté dedans, la 2ème réécrit l’URL au format WordPress :
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} [0-9]+/[0-9]+/[0-9]+/[0-9]+-.+
RewriteRule ^index.php$ http://loremipsum.be/%{QUERY_STRING}/? [R=301,L]
RewriteRule ^([0-9]+)[/]([0-9]+)[/]([0-9]+)[/][0-9]+-(.+)$ http://loremipsum.be/$1/$2/$3/$4? [R=301,L]
Je suis bien conscient qu’il existe surement des méthodes bien meilleures, si tel est le cas, n’hésitez pas à le poster dans les commentaires.
Lien relatif:
Conserver ses URL en passant de TypePad à Wordpress.