URLs par numéro d’article

SPIP propose différents types d’URLs : classiques, par titre, par type d’objet + numéro. Le présent plugin propose de gérer autrement les URLs d’article, en utilisant simplement le numéro de l’article.

Principe de fonctionnement du plugin

Une fois installé, le plugin :
-  utilise le numéro d’article comme URL d’un article. Ainsi l’article 23 aura pour URL : http://monsitespip.tld/23.
-  utilise pour les autres objets le type d’URL défini soit dans l’espace privé, soit via le fichier mes_options.php.

Pourquoi utiliser le numéro d’article en tant qu’URL ?

L’idée de ce type d’URLs m’est venu en constatant ce que proposait la plateforme hypotheses.org.

Chaque article SPIP possède un numéro unique. S’en servir plutôt que le titre comme URL permet :

  • d’assurer l’unicité des URLs, puisque le numéro, contrairement au titre, ne change jamais.
  • de retenir plus facilement l’URL. En effet, en utilisant les URLs propre, qui n’a jamais confondu ceci-est-le-titre-de-l-article avec ceci-est-le-titre-de-larticle ?
  • de pouvoir facilement imprimer l’URL d’un article sur un document papier, où de l’indiquer sur une présentation pour vidéo-projection.

Installation et initialisation

Le plugin s’installe ainsi que n’importe quel plugin. Cependant trois étapes supplémentaires sont requises.

La première étape, et la plus importante, est de modifier le fichier .htaccess livré avec SPIP. En effet, celui-ci redirige par défaut les urls composés uniquement de numéro vers l’URL enregistrée en base correspondante à l’article du numéro. Si nous ne procédons pas à une rectifications, nous aurons alors des boucles infinies de redirection.

Il vous faut donc ouvrir le fichier .htaccess et remplacer

# ping http://site/1234 => article1234

RewriteRule ^([1-9][0-9]*)$     spip.php?action=redirect&type=article&status=301&id=$1 [QSA,L]

par

# url par numéro d'article

RewriteRule ^([1-9][0-9]*)$     spip.php?page=article&id_article=$1 [QSA,L]

La deuxième étape est utile si vous aviez utilisé auparavent des urls propres dépendantes du titre de l’article. Il est nécessaire de faire que toutes les anciennes URLs soient automatiquement redirigées vers les nouvelles. Pour cela :

  • Si ce n’était déjà fait, dans « Configuration »->« Configurer les URLs », cochez la case « Activer la gestion avancée des URLs ».
  • Dans « Publication » -> « Suivi des URLs », choisir « Mettre à jour toutes les URLS » à gauche.

Enfin, la troisième étape consiste à vider le cache de SPIP, via « Maintenance » -> « Vider le cache ». Si vous ne le faites pas, les liens internes seront réactualisés à chaque recalcul normal du cache.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom