Un DotClear proprement à la racine
Note : les explications ci-après sont faites pour un hébergement supportant le path_info et un DotClear réglé sur ce mode. C'est adaptable en Query_String et même plus simple puisqu'on peut s'arrêter à la deuxième étape.
DotClear dans un sous-répertoire
Imaginons qu'on range DotClear dans un répertoire dotclear ; dans la config, on note /dotclear/index.php/ comme URL vers le weblogue et /dotclear comme Emplacement de l'application. Les adresses ressembleront alors à ça :
- http://monsite.net/dotclear/
- http://monsite.net/dotclear/index.php/Categorie
- http://monsite.net/dotclear/index.php/2005/05/05/42-post-titre
(en QueryString : /dotclear/ comme URL, pour des adresses http://monsite.net/dotclear/?Categorie)
C'est pas mal, mais on le voudrait accessible à la racine, alors ?
Copie de l'index à la racine :
On copie le fichier /dotclear/index.php à la racine, puis on décommente et on modifie la ligne qui va initialiser le $app_path au début de ce fichier pour qu'elle pointe sur le répertoire dans lequel on a installé DotClear : $app_path = '/dotclear/';
. Ensuite, on va modifier dans la configuration l'URL vers le weblogue pour pointer vers /index.php/. Les adresses vont maintenant être celles-ci :
- http://monsite.net/
- http://monsite.net/index.php/Categorie
- http://monsite.net/index.php/2005/05/05/42-post-titre
(en QueryString : / comme URL, pour des adresses http://monsite.net/?Categorie, et on a fini.)
Déjà, c'est mieux. Mais diantre, que ce index.php est laid ...
Une plus jolie adresse de base.
Si votre serveur supporte vraiment le path_info et gère l'option Multiviews, il est possible de remplacer ce /index.php/ par quelque chose de plus joli, mettons blog par exemple. Pour ce faire, renommez index.php en blog.php, assurez vous d'activer l'options Multiviews dans votre .htaccess de la sorte :
Options +MultiViews
Puis allez modifier dans la configuration l'URL vers le weblogue pour pointer maintenant vers /blog/ ... Magie, vos pages sont maintenant accessibles aux adresses suivantes :
- http://monsite.net/blog/
- http://monsite.net/blog/Categorie
- http://monsite.net/blog/2005/05/05/42-post-titre
C'est quand même plus joli. Ben oui, mais à http://monsite.net/, on n'a rien... On peut aller jusqu'au bout ?
À fond !
C'est maintenant qu'on s'amuse, en fignolant un petit .htaccess bien senti : on va réécrire les URLs à la vollée. Indiquons ça dans notre fichier par RewriteEngine On
, puis allons réécrire les adresses, mais sous certaines conditions : il ne faut pas réécrire les adresses qui pointent réellement vers quelque chose, par exemple vers le répertoire /dotclear/, qui existe réellement. Comme on va tout rediriger vers le fichier blog.php, il faut éviter de rediriger celui-ci vers lui même; si on ne veut pas partir dans une boucle sans fin. Hormis ceux-là (et d'autres à votre convenance, on peut penser par exemple à un robots.txt), on redirige donc tout vers blog.php, ça donne ce .htaccess là :
RewriteEngine On
RewriteCond %{REQUEST_URI} !dotclear
RewriteCond %{REQUEST_URI} !blog
RewriteRule (.*)$ /blog.php/$1
Il ne reste plus qu'à faire pointer l'URL vers le weblogue vers / et on se retrouve avec les adresses suivantes :
- http://monsite.net/
- http://monsite.net/Categorie
- http://monsite.net/2005/05/05/42-post-titre
C'est pas classe, ça ? Attention : les RewriteRules peuvent demander beaucoup de ressources au serveur, ne soyez pas étonné si votre hébergeur vous demande des comptes.
Mes rewriterules ne fonctionnent pas !
Ça arrive, le .htaccess est une petite bête délicate qui nécessite des bons réglages chez l'hébergeur. Il suffit de rien pour qu'il soit ignoré ou même qu'il nous balance une erreur 500 de derrière les fagots. Si c'est le cas, on oublie le fichier en question et on passe au plan B : on copie le blog.php en index.php, ce qui va permettre d'avoir la page de garde à la racine, mais qui pointant sur /blog, et tout le monde doit retrouver ses petits. On aura alors, moindre mal, les adresses suivantes :
- http://monsite.net/
- http://monsite.net/blog/Categorie
- http://monsite.net/blog/2005/05/05/42-post-titre
Allez, maintenant, un bisou à Mémé, et tout le monde au lit.
Commentaires
1. Le jeudi 17 novembre 2005 à 18:02, par Boulbi
2. Le lundi 21 novembre 2005 à 03:58, par Lucas3d
3. Le samedi 26 novembre 2005 à 15:55, par Osku
4. Le samedi 26 novembre 2005 à 16:25, par xave
5. Le samedi 26 novembre 2005 à 16:29, par xave
6. Le samedi 26 novembre 2005 à 16:37, par Osku
7. Le samedi 26 novembre 2005 à 16:43, par xave
8. Le samedi 26 novembre 2005 à 16:50, par Osku
9. Le samedi 26 novembre 2005 à 17:03, par xave
10. Le mercredi 14 décembre 2005 à 00:22, par Boulbi
11. Le mercredi 14 décembre 2005 à 17:21, par Pep
12. Le samedi 17 décembre 2005 à 23:52, par Pim
13. Le lundi 26 décembre 2005 à 23:13, par ulluss
14. Le mercredi 28 décembre 2005 à 09:11, par Olivia
15. Le mercredi 28 décembre 2005 à 10:00, par Kozlika
16. Le mercredi 28 décembre 2005 à 15:22, par ulluss
17. Le samedi 31 décembre 2005 à 18:14, par Filipo l
18. Le dimanche 1 janvier 2006 à 14:56, par Kozlika
19. Le lundi 2 janvier 2006 à 10:31, par julien
20. Le jeudi 12 janvier 2006 à 14:08, par Olivia
21. Le jeudi 12 janvier 2006 à 14:26, par Kozlika
22. Le samedi 14 janvier 2006 à 09:31, par pierreL
23. Le mardi 17 janvier 2006 à 13:29, par kevin
24. Le mardi 17 janvier 2006 à 13:49, par kevin
25. Le mercredi 25 janvier 2006 à 17:02, par Meee
26. Le mercredi 25 janvier 2006 à 17:11, par xave
27. Le mercredi 25 janvier 2006 à 22:23, par Nati
28. Le jeudi 2 février 2006 à 20:33, par Max
29. Le samedi 18 février 2006 à 21:08, par guan
30. Le samedi 18 février 2006 à 22:35, par guan
31. Le lundi 27 février 2006 à 00:20, par user
32. Le vendredi 3 mars 2006 à 10:21, par xave
33. Le mercredi 8 mars 2006 à 20:18, par rico
34. Le jeudi 9 mars 2006 à 16:53, par Maxime
35. Le vendredi 10 mars 2006 à 17:07, par Rico
36. Le dimanche 12 mars 2006 à 15:25, par Feu
37. Le jeudi 16 mars 2006 à 16:45, par pitchou
38. Le vendredi 17 mars 2006 à 02:42, par Florent V.
39. Le lundi 3 avril 2006 à 14:00, par Miradoo
40. Le lundi 24 avril 2006 à 12:16, par sinjhin
41. Le mercredi 26 avril 2006 à 10:58, par isamu
42. Le jeudi 11 mai 2006 à 23:48, par archange
43. Le vendredi 9 juin 2006 à 19:50, par Nicolas
44. Le jeudi 20 juillet 2006 à 17:01, par Pablo
45. Le jeudi 20 juillet 2006 à 17:08, par Kozlika
46. Le lundi 31 juillet 2006 à 16:09, par Marie
47. Le samedi 19 août 2006 à 01:22, par gahool
48. Le mercredi 23 août 2006 à 16:25, par geba
49. Le vendredi 25 août 2006 à 16:35, par catageek
50. Le dimanche 24 septembre 2006 à 19:40, par vince.fr
51. Le dimanche 22 octobre 2006 à 08:13, par coquette
52. Le mercredi 25 octobre 2006 à 21:38, par le_ian
53. Le dimanche 10 décembre 2006 à 01:05, par Greg
54. Le dimanche 10 décembre 2006 à 01:09, par Greg
55. Le dimanche 10 décembre 2006 à 01:47, par ocklan
56. Le samedi 6 janvier 2007 à 23:22, par istreen
57. Le samedi 6 janvier 2007 à 23:34, par Kozlika
58. Le mercredi 7 février 2007 à 23:56, par fredouille
59. Le dimanche 11 février 2007 à 14:55, par supermata
60. Le dimanche 13 mai 2007 à 10:21, par Sabine
61. Le dimanche 13 mai 2007 à 18:26, par JR
62. Le vendredi 29 juin 2007 à 16:49, par reussir
63. Le mercredi 15 août 2007 à 19:38, par Phildar
64. Le mercredi 29 août 2007 à 08:34, par Kozlika
65. Le dimanche 23 septembre 2007 à 22:29, par Alain
66. Le dimanche 23 septembre 2007 à 22:38, par xave
67. Le mardi 25 septembre 2007 à 11:39, par Alain
68. Le samedi 19 janvier 2008 à 18:23, par look
69. Le lundi 21 janvier 2008 à 11:54, par Kozlika
70. Le lundi 28 janvier 2008 à 13:35, par fjandot
71. Le mercredi 20 février 2008 à 19:15, par Stéphanie
72. Le jeudi 1 mai 2008 à 17:18, par yannick
73. Le lundi 22 septembre 2008 à 10:12, par casiotheque
74. Le lundi 22 septembre 2008 à 11:02, par Kozlika