Pmwiki est conçu pour être utilisable comme un outil de maintenance de site web, et fréquemment les administrateurs voudront être capable de fournir un accès aux pages de PmWiki sans avoir "pmwiki.php" qui apparaît dans la barre d'adresse de la fenêtre du navigateur de l'utilisateur. Cette page explique les différentes manières de faire apparaître votre installation PmWiki sous une URL autre que le scripte pmwiki.php
lui même. Pour les exemples suivants on considère qu'une URL telle que http://www.example.com/wiki sera configurée pour accéder à pmwiki.php sur le site www.example.com.
Il y a quatre façons pricipales d'y parvenir : l'aliasing, la fabrication d'un script "wiki", renommer le script pmwiki, ou l'utilisation du mod_rewrite.
On this page... (hide)
Tout d'abord, si vous avez accès au fichier de configuration du serveur web, alors en ajoutant simplement la ligne
Alias /wiki /path/to/pmwiki.php
à ce fichier, l'alias sera effectué pour vous. Dans certain cas (par exempl Apache 2.0) vous serez contraint d'utiliser le chemin absolu jusqu'à pmwiki.php, par ex.
Alias /wiki /home/account/www/pmwiki.php
même si vous avez déjà défini le documentroot comm étant /home/account/www. Vous aurez alors également besoin de paramétrer les variables $PubDirUrl
et $UploadsUrlFmt du fichier config.php afin qu'elles pointent sur les URL correctes pour les dossiers pub/
et uploads/
.
Si vous n'avez pas accès au fichier de configuration, alors un peu de redirection s'impose. D'abord créer un fichier (pas un répertoire) nommé "wiki" à l'endroit où le serveur web devrait normalement accédé à l'URL "/wiki". Souvent il s'agit du dossier DocumentRoot du serveur web mais cela dépend vraiment de la configuration de votre site. Placez le code PHP suivant dans le fichier wiki
:
<?php chdir("/path/to/pmwikidir"); include("pmwiki.php"); ?>
Dans le scripte remplacez /path/to/pmwikidir
avec le nom du dossier contenant pmwiki.php
. Puis, ajoutez les lignes suivantes au fichier .htaccess
dans le même dossier contenant le fichier wiki
(créez le fichier .htaccess
si il n'existe pas):
<Files wiki> SetHandler application/x-httpd-php </Files>
Cela indique au serveur de traiter le fichier wiki
comme un scripte PHP même si celui-ci ne se termine pas par .php
. Maintenant, les requêtes à votre fichier wiki
provoqueront le déplacement du serveur au dossier contenant pmwiki.php
et l'exécution de ce dernier depuis là. Assurez-vous que la variable $ScriptUrl
de config.php pointe bien sur le fichier wiki
et non pas sur le dossier contenant pmwiki.php
.
Une troisième méthode est juste de renommer "pmwiki.php" en un nom plus approprié, par exemple "do.php". Si vous envisagez l'utilisation de l'analyseur de fichier log de serveur webalizer, vous devriez éviter de renommer "pmwiki.php" en "index.php". Webalizer "tronque" les urls après la partie 'index.', détruisant ainsi effectivement toutes les références aux pages. Par exemple: l'accès à '/index.php/Main/Abc' et '/index.php/Main/Xyz' comptent deux fois la même référence à '/'.
Si vous voulez que pmwiki se charge automatiquement quand vous tapez une URL se terminant par un répertoire, vous pouvez faire une de ces deux choses. Si vous pouvez accéder aux directives d'alias du fichier de configuration de votre serveur web, alors utilisez l'alias décrit plus haut. Si vous ne pouvez pas, essayez en ajoutant la ligne suivante au fichier .htaccess
du dossier de pmwiki.
DirectoryIndex pmwiki.php
Cela provoquera le chargement automatique de pmwiki.php à la place de index.php ou index.html et masquera le nom du fichier, au moins à la première visite du site.
Le serveur Web Apache posséde tout un tas de fonctionnalités délirantes,l'une d'entre elle est le mod_rewrite. La bidouille suivante dans votre fichier .htaccess devrait rendre vos URL vraiment vraiment sympathiques:
RewriteEngine on RewriteBase / RewriteRule ^([A-Z].*) /path/to/pmwiki/pmwiki.php?pagename=$1 [L,qsappend]
Quand vous utilisez le mod_rewrite, assurez vous d'avoir les lignes suivantes dans votre fichier local/config.php:
$ScriptUrl = 'http://yourdomain.com/dir/pmwiki.php';
$PageUrlFmt = 'http://yourdomain.com/$Group/$Title_';
$PubDirUrl = 'http://yourdomain.com/dir/pub';
$UploadUrlFmt = 'http://yourdomain.com/dir/uploads';
Vous devez changer votre configuration locale pour obtenir de PmWiki qu'il génère des jolies urls. Paramétrer la variable $EnablePathInfo
à 1 indiquera à PmWiki de générer des noms de pages avec des slashes ("/") au lieu de points et supprimera tout l'aspect "pagename=". Puis paramètrer $ScriptUrl
avec le pseudo chemin que vous avez défini sans le slash final, devrait rendre les choses vraiment jolies. Par exemple, les commandes mod_rewrite ci-dessus combinées avec
$ScriptUrl = "http://wiki.example.com";
dans le fichier config.php devrait produire une URL qui ressemble à ça
http://wiki.example.com/Main/HomePage/
.
<< Notification par courriel | Index doc admin | Configurer les liens InterMap >>