Manuel:URL courte

From mediawiki.org
This page is a translated version of the page Manual:Short URL and the translation is 100% complete.
Cet article concerne la structure des URLs. Pour la création des URLs courtes d'article, voir Extension:ShortUrl . Pour créer un service de raccourcissement d'URL, voir Extension:UrlShortener .

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é serveur
https://example.org/view/Page_title
https://wiki.example.org/view/Page_title
https://example.org/Page_title
https://wiki.example.org/Page_title

Some people do not recommend the last two configurations: see Manual:Wiki in site root directory for potential problems and 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

Ces guides sont anciens et sont presque entièrement de mauvais conseils. Ceux-ci seront éventuellement supprimés un par un aussitôt que nos guides officiels ci-dessus seront créés pour les différents serveurs web.

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

Les actions telles que modifier, afficher l'historique, etc. auront encore index.php à moins que $wgActionPaths ne soient définis.

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.

(pour les instructions Apache, voir le lien dans la section Guides ).

URL du style - example.com/wiki/Page_title

Certaines personnes ne recommandent pas cette configuration. Voir Manual:Wiki in site root directory pour les problèmes potentiels et les solutions.

Comment créer des URL example.com/Page_title :

URL du style - wiki.example.com/Titre_de_la_page

Certaines personnes ne recommandent pas cette configuration. Voir Manual:Wiki in site root directory pour les problèmes potentiels et les solutions.

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 mysite.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 mysite.com/wiki/Main_Page?action=purge pour forcer MediaWiki à rafraîchir les liens dans le cache.

Vous pouvez aussi :

  1. exécutez la requête MySQL TRUNCATE objectcache; , ou
  2. 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 dans LocalSettings.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

Liens externes

Références

  1. Bugzilla mod_rewrite pour le bogue ampersand, partiellement résolu pour certains utilisateurs, mais seulement après 13 ans.