DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:config:userewrite

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édentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
fr:config:userewrite [2011-08-26 08:53] – orthographe & correct anchor in link 81.53.249.7fr:config:userewrite [2022-09-23 15:40] JeromeP
Ligne 1: Ligne 1:
-====== Option de configuration : userewrite ======+====== Réécriture d'URL ======
  
-Activez cette option afin d'obtenir des URL plus beaux et plus sympathiques pour les moteurs de recherche et les humains. ([[..:rewrite|instructions détaillées]]).+Par défaut, DokuWiki ne réécrit pas d'URL, ce qui donne des URL comme celle-ci :
  
-  * TypeNombre +  http://example.com/doku.php?id=page 
-  * Valeur par défaut: ''0''+   
 +Ces URL sont considérées comme laides et ne sont pas bien indexées par certains moteurs de recherche.
  
-Vous pouvez utiliser les valeurs suivantes :+La solution consiste à activer la réécriture d'URL, qui est désactivée par défaut.
  
 +===== Instructions en anglais clair =====
  
-^ userewrite ^ URLs esthétiques((Dans la page d'administration de dokuwiki (Administrer -> Paramètres de configuration -> Paramètres Avancés) le paramètre correspondant à ''userewrite'' est appelé <<URLs esthétique>>. Les valeurs numériques n'apparaissent pas, il y a ces mots à la place.)) ^ Info ^ URL d'exemple ^ +==== Étapes ====
-|     | aucun | Aucune réécriture. C'est la valeur par défaut | %%http://example.com/dokuwiki/doku.php?id=wiki:syntax%% | | +
-|     | .htaccess | Les réécritures sont mises en place en avec l'aide du serveur WEB. Par exemple, avec Apache vous devez créer un fichier ''.htaccess'' ou avoir accès au fichier de configuration du serveur. | %%http://example.com/dokuwiki/wiki:syntax%% | [[..:rewrite#Option 1: serveur web|Plus d'info]] | +
-|     | DokuWiki | Les réécritures sont entièrement prises en charge par DokuWiki.  | %%http://example.com/dokuwiki/doku.php/wiki:syntax%% | [[..:rewrite#Option 2: DokuWiki|Plus d'info]]|+
  
-{{:config:danger.png  }} **Danger**: Changer cette option pourrait rendre votre wiki et son menu d'administration inaccessible.+  - Allez dans l'administration 
 +  - Ouvrir les paramètres de configuration 
 +  - Changez l'option "Utiliser des URL esthétiques" en .htaccess  
 +  - En dessous, cochez l'option "Utiliser "/" comme séparateur d'espace de noms dans les URL" 
 +  - Sauvegarder 
 +  - Ensuite, à l'aide d'un ftp ou d'un gestionnaire de fichiers, vous devez accéder à votre dossier /wiki/ que vous avez créé lors de la création de votre wiki. 
 +  - À l'intérieur, vous trouverez un fichier appelé .htaccess et .htaccess.dist. (si vous ne le voyez pas, assurez-vous que les fichiers cachés sont visibles. Il peut s'agir d'une option que vous avez lors de la connexion en fonction de votre fournisseur d'hébergement, ou créez simplement un fichier appelé .htaccess et téléchargez-le) 
 +  - dans le fichier .htaccess, collez ce qui suit (vous pouvez également décommenter la section dans .htaccess.dist puis la renommer en .htaccess) :
  
 +<code apache>
 +RewriteEngine on
  
-===== Voir aussi =====+RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L] 
 +RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L] 
 +RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L] 
 +RewriteRule ^$                        doku.php  [L] 
 +RewriteCond %{REQUEST_FILENAME}       !-f 
 +RewriteCond %{REQUEST_FILENAME}       !-d 
 +RewriteRule (.*)                      doku.php?id=$1  [QSA,L] 
 +RewriteRule ^index.php$               doku.php 
 +</code>
  
-  [[fr:config:|Configurer DokuWiki]] +Cela vous donnera un format comme www.myexample.com/wiki-article. Si vous avez un format différent pour votre adresse, comme www.myexample.com/dokuwiki/wiki-article, placez cette ligne juste après **RewriteEngine on*
-  [[useslash]] +<code apache> 
-  [[..:rewrite]]+RewriteBase /dokuwiki 
 +</code>
  
 +
 +où /dokuwiki doit être remplacé par le nom réel du dossier que vous utilisez.
 +
 +
 +===== Plus de détails pour les connaisseurs techniques =====
 +
 +DokuWiki prend en charge deux méthodes de réécriture d'URL, activées via l'option [[config:userewrite]]. L'un s'appuie sur les capacités de réécriture du serveur Web ; l'autre gère les URL réécrites dans DokuWiki. Le tableau ci-dessous résume ces options.
 +
 +^ Valeur ^ Info ^ Exemple d'URL ^
 +| 0 | Aucune réécriture d'URL n'est utilisée. C'est la valeur par défaut. | %%http://example.com/dokuwiki/doku.php?id=wiki:syntax%% |
 +| 1 | La réécriture est gérée par le serveur Web. | %%http://example.com/dokuwiki/wiki:syntax%% |
 +| 2 | La réécriture est effectuée par DokuWiki. | %%http://example.com/dokuwiki/doku.php/wiki:syntax%% |
 +
 +La réécriture d'URL est désactivée par défaut car elle nécessite une configuration supplémentaire en plus de définir l'[[fr:config:userewrite|option de configuration]] appropriée - ces configurations sont décrites ci-dessous.
 +
 +La réécriture d'URL peut être activée à ''?do=admin&page=config#_advanced'' ou dans la ligne de fichier locale conf/local.php qui lit ''$conf['userewrite'] = N;''. N est le nombre 0, 1 ou 2. La valeur par défaut est zéro sans cette ligne présente. Suivez les instructions de configuration ci-dessous pour l'option choisie.
 +
 +====== Option 1 : serveur Web ======
 +
 +:!: N'oubliez pas de définir ce qui suit dans le gestionnaire de configuration ''/start?do=admin&page=config''
 +  * Utilisez de belles URL : **.htaccess**
 +  * Utilisez une barre oblique comme séparateur d'espace de noms dans les URL [**x**]
 +Sinon, les règles de réécriture ne seront pas utiles.
 +
 +
 +==== Apache ====
 +
 +La réécriture des URL dans Apache se fait via le module **mod_rewrite** de [[http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html|Apache 1]] ou [[http://httpd. apache.org/docs/2.0/mod/mod_rewrite.html|Apache 2]].
 +
 +DokuWiki est livré avec un fichier ''.htaccess.dist'' qui contient les règles de réécriture nécessaires pour le mode 1.
 +
 +Voici un exemple
 +<code apache>
 +RewriteEngine on
 +
 +RewriteBase /dokuwiki
 +
 +RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
 +RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
 +RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
 +RewriteRule ^$                        doku.php  [L]
 +RewriteCond %{REQUEST_FILENAME}       !-f
 +RewriteCond %{REQUEST_FILENAME}       !-d
 +RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
 +RewriteRule ^index.php$               doku.php
 +</code>
 +
 +Sur la ligne ''RewriteBase /dokuwiki'', vous devrez peut-être remplacer le ''/dokuwiki'' par le répertoire que vous utilisez dans votre URL pour accéder au wiki. Si votre wiki apparaît au niveau supérieur du domaine (par exemple, http://example.com pointe vers la page de démarrage du wiki, utilisez la ligne suivante : ''RewriteBase /''.
 +
 +Vous devrez peut-être également renommer le fichier de ''.htaccess.dist'' à ''.htaccess''.
 +
 +== Apachectl status broken ==
 +
 +Dokuwiki rewrite rule affect //apachectl status// command and make it return dokuwiki 404 page instead of the server-status page. You can fix that by either putting this in dokuwiki rewrite rules
 +
 +<code apache>
 +RewriteCond %{REQUEST_URI} !^/server-status$
 +</code>
 +
 +or creating an empty server-status file in dokuwiki root folder where doku.php is located. See forum post [[http://forum.dokuwiki.org/post/32858 | Apachectl status is broken with dokuwiki]]
 +
 +== 404 not found error ==
 +
 +You may need to do [[https://stackoverflow.com/questions/8551740/centos-htaccess-not-being-read | this]].
fr/config/userewrite.txt · Dernière modification : 2022-09-23 16:14 de JeromeP

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki