Manuel:URL courte
Les URLs courtes ou les réécritures d'URL masquent l'extension des fichiers php dans l'adresse des pages. Avant de commencer, veuillez prendre quelques minutes pour concevoir une structure stable d'URL pour votre site web afin de limiter les problèmes à l'avenir.
Introduction
Objectif
Le chemin d'installation par défaut de MediaWiki ressemble à ceci :
/var/www/html/mediawiki
(installé en tant qu'utilisateur root)/home/johndoe/public_html/mediawiki
(installé avec un fournisseur d'hébergement partagé)
Les adresses de page par défaut de MediaWiki ressemblent à ces exemples :
https://example.org/w/index.php/Page_title
(les versions récentes de MediaWiki, sans le support CGI)https://example.org/w/index.php?title=Page_title
(les versions récentes de MediaWiki, avec le support CGI)
En utilisant les méthodes décrites sur cette page, nous pouvons obtenir des configurations comme celles-ci :
https://example.org/wiki/Page_title
Il s'agit de la configuration la plus courante, comme dans Wikipedia, mais pas par défaut car elle nécessite des modifications côté serveurhttps://example.org/view/Page_title
https://wiki.example.org/view/Page_title
https://example.org/Page_title
https://wiki.example.org/Page_title
Certaines personnes ne recommandent pas les deux dernières configurations. Voir Manual:Wiki in site root directory pour les problèmes potentiels et les solutions.
Avantages & désavantages
- Avantage : les URLs courtes cachent certains détails techniques aux utilisateurs finaux, ce qui peut être souhaitable pour les propriétaires de sites. Entre autre, cela signifie qu'elles peuvent être maintenues stables lorsque le logiciel sous-jacent est modifié. (Voir ci-dessus pour la différence entre la structure d'URL par défaut de MediaWiki avec CGI activé et sans.) Elles sont également plus faciles à lire, mémoriser et manipuler pour les visiteurs. De plus, les URLs courtes offrent un avantage par rapport aux URLs par défaut pour l'optimisation des moteurs de recherche, car les URLs contenant le caractère
?
peuvent être traitées de manière moins favorable par les moteurs de recherche lors du calcul du rang de la page accédée. - Inconvénient: nécessite une configuration. Donc en fonction de l'environnement d'hébergement que vous utilisez, cela peut être difficile à recréer. Cependant, comme chaque serveur Web largement utilisé peut être configuré pour utiliser des URLs courtes, la plupart des services d'hébergement Web payants devraient prendre en charge cette fonctionnalité. Tout hôte qui ne vous offre pas cette fonctionnalité ne vaut pas votre argent.
Guides
Nos guides officiels pour la configuration d'URL courte pour différents serveurs web. Choisissez la configuration de votre serveur web à partir de cette liste. Si vous ne savez pas quel logiciel serveur est utilisé, le plus probable est Apache
Autres mini-guides comment-faire
Chacun est le bienvenu pour créer une page de solution pratique et la lister ci-dessous. Veuillez utiliser un nom sensible pour la page, celui qui correspond aux noms ci-dessous. Lorsque chaque solution unique a sa propre page, les lecteurs peuvent ignorer la complexité qu'ils ne veulent pas. Gardez-le simple, lisible, court, avec une page séparée par solution séparée.
Afin d'aider les autres personnes à trouver les méthodes d'URL courtes qui fonctionnent vraiment, après avoir essayé chaque méthode, éditez la page et augmentez les numéros fonctionne ou ne fonctionne pas pour ce guide et faites une brève description (ou longue, selon votre choix) sur ce qui s'est mal passé en cliquant sur le lien sur votre numéro.
URL du style - example.com/wiki/Page_title
Accès à la racine
Ces méthodes requièrent que vous ayez accès à la configuration du serveur. Si vous êtes sur un hôte partagé, vous n'y avez probablement pas accès. Dans ce cas, vous devrez utiliser une méthode qui ne nécessite pas d'accès à la racine. Vous pouvez accéder directement à l'outil MediaWiki ShortURL Builder et suivre les instructions à l'écran. Choisissez « Je ne possède pas d'accès root » après avoir entré l'URL de votre wiki.
- wiki/Page title -- Lighttpd rewrite--root access x3
- wiki/Page title -- Cherokee rewrite--root access x1
- IIS8.5 x2 x1
- Abyss
(pour les instructions Apache, voir le lien dans la section Guides ).
URL du style - example.com/wiki/Page_title
Comment créer des URL example.com/Page_title
:
- Page title - nginx, Root Access, PHP as a CGI module x6
- Page title -- Windows & Apache without 403 on Special Pages x3
URL du style - wiki.example.com/Titre_de_la_page
Comment créer des URL wiki.example.com/Page_title
:
Guide de dépannage
Problème d'esperluette (&)
Le problème esperluette apparaît lorsque vous avez des titres de page avec des symboles à l'intérieur (tels que &, ?, #, + et /) qui en dépit d'être correctement encodés dans le lien ne sont pas correctement passés par mod_rewrite vers le script. Cela se manifeste par l'affichage d'erreurs 404 page-not-found, parce que le titre est coupé au caractère spécial. Par exemple, en cliquant sur le lien « la page de John & Maria » vous obtenez un 404, parce que MediaWiki est à la recherche d'une page nommée « John » .
Cela est dû au fait que les abréviations des noms de forme longue sont traitées comme des séparateurs de chaîne de requête, et n'atteindront jamais l' environnement d'exécution. Ceci est dû à un bogue mod_rewrite ancien et problématique [1].
Solution :
Ce problème est causé par le morceau ?title=$1
des règles de réécriture comme /index.php?title=$1
ce qui est complètement inutile et nuisible.
MediaWiki analyse les chemins directement à partir de REQUEST_URI donc réécrivez tout dans /index.php.
Purger le cache
Si vous remarquez que vos modifications de $wgArticlePath
dans LocalSettings.php
ne sont pas repportées dans example.com/wiki/Main_Page
, il est possible que cela soit dû à la mise en cache dans MediaWiki des liens en fonction des précédents paramètres.
Allez sur example.com/wiki/Main_Page?action=purge
pour forcer MediaWiki à rafraîchir les liens dans le cache.
Vous pouvez aussi :
- exécutez la requête MySQL
TRUNCATE objectcache;
, ou - Vérifiez que
$wgCacheEpoch
est mis à jour (si$wgInvalidateCacheOnLocalSettingsChange
est activé, tout ce que vous avez à faire c'est de modifier LocalSettings.php pour le purger)
Rediriger un visiteur de votre domaine vers votre wiki
Nos guides officiels pour la configuration des URLs courtes incluent des recommandations sur la manièe de pointer la racine de votre site sur votre wiki en utilisant la configuration des URLs courtes.
Par exemple notre guide Apache recommande d'utiliser ceci pour que la racine de votre site pointe sur votre wiki :
RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
Notez-bien que nous ne recommandons pas de faire directement une redirection HTTP vers le chemin de votre wiki ou vers la page d'accueil. Le fait de rediriger directement vers la page d'accueil va déclarer en dur des parties variables de vos paramètres de page wiki dans la configuration du serveur. Et en redirigeant vers le chemin du wiki vous obtiendrez réellement deux redirections. Réécrivez simplement le chemin vers la racine de MediaWiki et cela garantira les 301 redirections vers la page d'accueil elle-même.
Si vous utilisez VirtualHosts, ajoutez les règles de réécriture dans la déclaration de l'hôte virtuel !
Déplacer un wiki depuis /wiki vers /w
Une erreur commune des débutants est d'installer MediaWiki lui-même (le code source, et non l'URL courte) dans /wiki
au lieu de /w
.
Une fois installé, l'erreur apparaît lorsque l'on essaie de configurer les URLs courtes (ce qui devient difficile parce que le chemin virtuel est en conflit avec le chemin réél).
Il existe un manuel pour renommer un wiki en général, néanmoins c'est trop difficle si tout ce dont vous avez besoin est de modifier le répertoire d'installation (en restant sur le même serveur, avec la même base de données et le même hôte).
Voici ce que vous devez faire :
- Sauvegardez
LocalSettings.php
et tous les autres fichiers de configuration que vous auriez créés (tel que votre.htaccess
). - Renommer le répertoire d'installation de MediaWiki sur votre serveur de
/wiki
en/w
. - Initialisez
$wgScriptPath
dansLocalSettings.php
à"/w"
et supprimez (ou mettez en commentaire) toute définition de$wgArticlePath
(cette variable sera modifiée encore plus tard, lorsque vous activerez les URLs courtes) - A cet endroit votre wiki doit fonctionner normalement sur
example.org/w
- Maintenant revoyez le guide régulier pour configurer les URLs courtes
- Réalisez quelques tests sur votre wiki pour vous assurer que rien n'est cassé. Modifez une page, affichez quelques pages différentes, etc. Si vous observez quelque chose d'anormal, annulez les modifications en rechargeant votre sauvegarde de
LocalSettings.php
et les autres fichiers associés que vous auriez pu modifier pendant la configuration des URLs courtes et changez à nouveau le nom de votre répertoire en/wiki
.
Note pour les utilisateurs d'hôtes partagés : beaucoup de plans d'hôtes partagés offrent un gestionnaire d'applications pour installer, mettre à jour et sauvegarder automatiquement les applications telles que MediaWiki. Si votre plan possède cela et si vous voulez continuer à pouvoir utiliser ces fonctionnalités, vous devez contacter leur support technique et leur faire savoir que vous avez simplement changé manuellement le répertoire de votre installation MediaWiki.
Astuces
Voir également
- Explication de ce que sont les modules CGI
- $wgUsePathInfo - paramètre de configuration qui définit s'il faut utiliser les URLs 'jolies' (pretty) ou pas
- Notes sur l'installation de votre wiki dans le répertoire racine du site
- $wgActionPaths - paramètre de configuration que vous pouvez utiliser pour définir les 'jolies' URLs pour d'autres actions, comme la modification ou l'historique
- RFC pour nettoyer les URLs - propose un nettoyeur d'URLs pour la modification, l'aperçu des habillages, etc.
Liens externes
- Apache Module mod_rewrite - URLs de réécriture demandées à la volée
- outils MediaWiki de construction des URLs courtes - Un outils qui peut automatiquement générer une URL courte; configuration plus fiable que les configurations de ces pages de manuel.
- URL en tant que UI par Jakob Nielsen sur l'importance des URLs persistantes et utilisables.
Références
- ↑ Bugzilla mod_rewrite pour le bogue ampersand, partiellement résolu pour certains utilisateurs, mais seulement après 13 ans.