meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
dokuwiki:de-beaux-url [2011/05/21 12:55]
ztrulphcs [Les finitions]
dokuwiki:de-beaux-url [2012/06/10 23:17] (Version actuelle)
ztrulphcs [1ère étape : faire en sorte que dokuwiki génère de beaux url]
Ligne 2: Ligne 2:
 ====== Beaux URL et rewriterules ====== ====== Beaux URL et rewriterules ======
  
-Ou comment obtenir de [[http://www.bortzmeyer.org/beaux-urls.html|beaux URL]].+Ou comment obtenir de [[http://www.bortzmeyer.org/beaux-urls.html|beaux URL]] même lorsqu'on n'a pas accès à la configuration d'apache.
  
-Par défaut, [[doku>dokuwiki]] fait des URL laids et mal indexés par les moteurs de recherche. Dokuwiki propose deux méthodes de réécriture pour obtenir des URL plus jolis. Chez free.fr on ne peut utiliser qu'une seule des méthodes de réécriture, ce qui permet d'améliorer tout de même considérablement la situation, en changeant le paramètre [[doku>fr:config:userewrite|userewrite]] à ''dokuwiki''. On passe alors d'URL très laids tels que ''%%http://login.free.fr/dokuwiki/doku.php?id=wiki:syntax %%'' à des URL presque convenables comme celui là : ''%%http://login.free.fr/dokuwiki/doku.php/wiki:syntax%%''.+Cette page explique pas à pas comment transformer en quelques étapes les URL de votre DokuWiki chez free : 
 +  - %%http://%%login.free.fr/<wrap fgviolet>doku.php</wrap><wrap fgred>?id=:demo:pagemod:demo1</wrap> 
 +  - %%http://%%login.free.fr/<wrap fgviolet>doku.php</wrap>/<wrap fgred>demo:pagemod:demo1</wrap> 
 +  - %%http://%%login.free.fr/<wrap fgviolet>doku</wrap>/<wrap fgred>demo:pagemod:demo1</wrap> 
 +  - %%http://%%login.free.fr/<wrap fgviolet>wiki</wrap>/<wrap fgred>demo:pagemod:demo1</wrap> 
 +  - %%http://%%login.free.fr/<wrap fgviolet>wiki</wrap>/<wrap fgred>demo/pagemod/demo1</wrap> 
 + 
 +Vous pouvez aussi suivre le [[dokuwiki:tutovid-beaux-url|tuto vidéo]] qui vous montrera comment faire en 10 minutes. 
 + 
 +----- 
 + 
 +Par défaut, [[doku>dokuwiki]] fait des URL laids et mal indexés par les moteurs de recherche. Dokuwiki propose deux méthodes de réécriture pour obtenir des URL plus jolis. Quand on peut modifier la configuration d'Apache (ou d'autre serveur web), il n'y a qu'à suivre la documentation officielle sur [[doku>fr:rewrite]]. 
 + 
 +Chez free.fr on ne peut pas modifier suffisamment la configuration d'Apache. Les réglages du fichier ''.htaccess'' fourni avec dokuwiki ne sont pas pris en compte. Il ne reste donc qu'une seule méthode de réécriture, ce qui permet d'améliorer tout de même considérablement la situation. En changeant le paramètre [[doku>fr:config:userewrite|userewrite]] à ''dokuwiki'', on passe d'URL très laids tels que ''%%http://login.free.fr/dokuwiki/doku.php?id=wiki:syntax %%'' à des URL presque convenables comme celui là : ''%%http://login.free.fr/dokuwiki/doku.php/wiki:syntax%%''.
  
 Mais il reste encore et toujours ce fichu ''doku.php'' dans le bazar. Il n'est pas possible de le faire disparaitre entièrement, mais on peut tout de même enlever le ''.php'' si vilain. On peut également changer le nom, utiliser ''d'' par exemple ou ''sbouirtkx'' si on veut à la place de ''doku''; mais je préfère ''d'', allez savoir pourquoi. Il faut juste ruser un peu. Mais il reste encore et toujours ce fichu ''doku.php'' dans le bazar. Il n'est pas possible de le faire disparaitre entièrement, mais on peut tout de même enlever le ''.php'' si vilain. On peut également changer le nom, utiliser ''d'' par exemple ou ''sbouirtkx'' si on veut à la place de ''doku''; mais je préfère ''d'', allez savoir pourquoi. Il faut juste ruser un peu.
Ligne 28: Ligne 41:
 <?php <?php
 if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','__NOM_CHOISI__'); if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','__NOM_CHOISI__');
-if($_SERVER['PATH_INFO']='php') $_SERVER['PATH_INFO']='';+if($_SERVER['PATH_INFO']=='php') $_SERVER['PATH_INFO']='';
 </code> </code>
  
Ligne 38: Ligne 51:
 ++++Remarque| ++++Remarque|
 Que vient faire la ligne  Que vient faire la ligne 
-  if($_SERVER['PATH_INFO']='php') $_SERVER['PATH_INFO']='';+  if($_SERVER['PATH_INFO']=='php') $_SERVER['PATH_INFO']='';
 Dans cette histoire ? C'est très simple. Le fichier est ''d.php'' (ou tout autre nom choisi). Mais on a enlevé le ''.php'' dans l'URL, pour faire plus joli. Et donc lorsque la page principale du wiki est demandée de cette manière ''%%http://login.free.fr/d%%'', le serveur donne ''php'' comme paramètre au script ''d'', qui, du coup va chercher une page appelée ''php'' à la racine du wiki... Le plus simple est donc d'introduire la logique suivante : si page demandée est ''php'', alors ne pas prendre en compte la page demandée (dokuwiki servira alors la page d'accueil du site, ce qui est dans ce cas, le comportement correct) .\\ Dans cette histoire ? C'est très simple. Le fichier est ''d.php'' (ou tout autre nom choisi). Mais on a enlevé le ''.php'' dans l'URL, pour faire plus joli. Et donc lorsque la page principale du wiki est demandée de cette manière ''%%http://login.free.fr/d%%'', le serveur donne ''php'' comme paramètre au script ''d'', qui, du coup va chercher une page appelée ''php'' à la racine du wiki... Le plus simple est donc d'introduire la logique suivante : si page demandée est ''php'', alors ne pas prendre en compte la page demandée (dokuwiki servira alors la page d'accueil du site, ce qui est dans ce cas, le comportement correct) .\\
 \\ \\
Ligne 61: Ligne 74:
  * @author     Schplurtz le Déboulonné <schplurtz@laposte.net>  * @author     Schplurtz le Déboulonné <schplurtz@laposte.net>
  */  */
-header("Location: /d/");+header("Location: __NOM_CHOISI__");
 </code> </code>