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

2 discussions

  • 1

    Bonjour,

    Merci pour ce plugin bien pratique !

    Petit problème sur SPIP 3.0.20 [22255] le numéro d’article en tant qu’URL ne fonctionne pas lorsqu’on sélectionne URLs Arborescentes (/article/titre) dans Configurer les URLs...

    Alors que ça fonctionne très bien lorsqu’on sélectionne URLs Libres (Titre-de-l-article Rubrique).

    Est-ce normal ?
    Merci

    • tout dépend ce qu’on appelle « normal ». En l’état du code, c’était normal que cela se comporte ainsi. Mais il n’était pas normal que le code propose cela. Bref c’était un bug.

      La version 1.2.0, qui sera bientôt disponible en zip, résoudra le problème. Il faudra bien penser à passer par la page de config des plugins après la mise à jour.

    Répondre à ce message

  • 1

    Le plugin http://contrib.spip.net/Microblog contient un mécanisme comparable pour rendre accessible les articles sous http://tld.com/1234 . Est-ce qu’il y a compatibilité ?

    • la question n’a pas de sens.

      Dans microblog, il s’agit à chaque fois d’une redirection, commme l’explique le tutoriel sur le .htaccess.

      C’est du reste cette redirection qui a été activée par défaut dans SPIP et que le présent plugin demande de supprimer.

    Répondre à ce message

Ajouter un commentaire

Qui êtes-vous ?

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

Dernière modification de cette page le 4 avril 2017