Voilà déjà quelques temps que j’ai réussi à réécrire l’url des pages de mon blog Dotclear. Auparavant une page billet avait un url ressemblant à @@index.php?post/2009/07/16/titre-du-billet.html@@, et maintenant, elles sont de la forme : @@/post/2009/titre-du-billet.html@@. C’est quand même mieux ! On pourrait optimiser encore, mais moi ça me suffit. %%% Il y a deux choses à faire pour modifier la réécriture des urls sur son blog. !!Format d’url des nouveaux billets Dans les paramètres du blog (Tableau de bord > Paramètres du blog), il est possible de modifier le format d’url des nouveaux billets. Par exemple : Année/Mois/Jour/Titre ou Année/Titre. ((/public/Dotclear/format-url1.png|Modifier le format des urls|C|Modifier le format des urls, nov. 2009)) Mais il est aussi possible de modifier ça « à la main » (donc avec plus de possibilité) dans about:config (Extensions > about:config). [((/public/Dotclear/.format-url2_m.jpg|Format d'urls|C|Format d'urls, nov. 2009))|/public/Dotclear/format-url2.png] !!PATH_INFO ou QUERY_STRING Pour faire disparaitre le @@index.php@@ dans l’url, il suffit ensuite de suivre les directives d’un tutoriel à ce sujet sur le site (assez moche ^^) de [Victor Brito|http://www.victor-brito.fr] : [tutoriel réécriture d'url pour Dotclear|http://www.victor-brito.fr/cv/post/18] Voici en gros les étapes à suivre : * Modifier dans les paramètres du blog (Tableau de bord > Paramètres du blog) l’url du blog (on enlève index.php/ ou index.php?), et méthode de lecture d’url (PATH_INFO par exemple) * Modifier le fichier inc/config.php en décommentant, commentant les lignes indiquées (suivre ce que disent les commentaires du fichier) * Modifier ou créer un fichier.htaccess (à la racine du blog) et lui ajouter le code suivant, en l’adaptant : ///[apache] #DotClear 2 nécessitant PHP 5, on déclare que les fichiers .php doivent être interprétés comme du PHP 5 AddType x-mapp-php5 .php #Si cela ne fonctionne pas, commenter la ligne au dessus et décommenter les 2 suivantes #AddHandler x-httpd-php5 .php #AddType application/x-httpd-php5 .php RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) /dotclear/index.php/$1 RewriteRule ^index.php$ dotclear/index.php/ /// Et voilà, votre blog sait maintenant gérer de beaux urls ! !!Un peu de SEO Pour éviter de perdre tout le référencement des anciens urls, il peut être de bon ton d’utiliser une redirection 301. Une redirection 301 précise à Google qu’une page a changer d’url de manière permanente. (302 c’est pour un changement d’url de manière temporaire) A utiliser avec parcimonie, mais à utiliser quand même. Pour cela, il suffit d’ajouter une règle de réécriture dans le .htaccess. Par exemple, pour rediriger la page ancienne-page.html vers nouvelle-page.html, on utilise : ///[apache] RewriteRule ^ancienne-page.html$ nouvelle-page.html [R=301] /// Dans notre cas, on pourrait donc utiliser une réécriture automatique, du style : ///[apache] RewriteRule ^index.php\?(.*)$ $1 [R=301] /// Pour tester, il suffit d’aller à l’ancienne url et de voir si on est redirigé. !!Pour lire plus loin * [Tutoriel Victor Brito|http://www.victor-brito.fr/cv/post/18] * [Internet et les urls Dotclear|http://blog.titax.fr/post/internet-et-les-url-de-dotclear.html]
Catégories
- Apache (6)
- Avent (14)
- C / C++ (5)
- CMS (16)
- Geekeries (41)
- HTML et CSS (6)
- Informations (12)
- Java (26)
- Javascript (8)
- L'anecdote du week-end (4)
- PHP (30)
- PHP objet (20)
- Projets (4)
- Référencement (4)
- SQL (9)
- XML (3)
- XMPP (4)
Tags
30 minutes Android Anecdote Ant Apache attribut C class CMS constructeur CSS date design Dotclear Eclipse erreur Expression Google Java Javascript Joomla jQuery Ligne de commande Linux Maven MySQL méthode PgSQL PHP POO Projet public regex Référencement SEO Shell SQL ssh tutoriel Url Rewriting Wallpaper Windows Wordpress XHTML XML