SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 181 visiteurs en ce moment

Accueil > Statistiques et référencement > Réécriture d’URL > URLs pages personnalisées > URLs pages personnalisées

URLs pages personnalisées

17 mars 2013 – par tcharlss – 59 commentaires

12 votes

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

Ce petit plugin, au caractère un peu expérimental, est un outil pour les webmestres et les utilisateurs avancés.

Il permet de mettre en place des urls personnalisées pour les squelettes ne correspondant à aucun objet éditorial : les pages.

Il s’agit du portage sous forme de plugin du tutoriel d’openstudio « pages personnalisées et réécriture d’adresse ».

Utilité

Lorsque l’on crée les squelettes d’un site, il arrive que l’on ait des squelettes ne se rapportant à aucun objet éditorial : "galerie.html", "contact.html", "plan.html" etc.

SPIP permet nativement de définir des urls personnalisées pour les pages se rapportant aux objets éditoriaux (articles, rubriques etc.), ce qui exclut ces types de squelettes.

Pour accéder à ces page, on dispose d’une balise #URL_PAGE, qui produit par défaut une url du type monsite.com/spip.php?page=toto.

Voyons comment utiliser le plugin pour personnaliser ces urls.

Utilisation

Avant tout, le fichier fichier .htaccess doit être correctement installé à la racine du site.

Rendez-vous sur la page de configuration du plugin ?exec=configurer_urls_pages ou dans le menu de configuration « Configurez les URLs ».

Formulaire avant complétion

1. Renseigner les urls personnalisées
Le plugin répertorie tous les squelettes « actifs » identifiés comme étant des pages. Sont donc exclus de la liste les squelettes des objets éditoriaux (article.html, article-10.html etc.), les noisettes (inc-xxx.html) et les squelettes « techniques » (404.html, sommaire.html etc.).

La recherche est effectuée à la racine des dossiers de squelettes et des plugins actifs de catégorie « squelette ».

Si Zpip ou Zcore est actif, c’est dans les sous-répertoires « content » et « contenu ».

Pour chaque page, vous pouvez donc définir une url personnalisée. Une vérification des doublons est effectuée, en revanche la validité de la chaîne rentrée est de votre ressort (attention aux caractères accentués et consorts).

Après enregistrement des paramètres, la balise #URL_PAGE pointera vers les nouvelles urls pour chaque page concernée.

2. Vérifier RewriteBase
Si nécessaire renseignez le champ « RewriteBase » tel qu’il est défini dans .htaccess. RewriteBase indique le chemin relatif du site sur le serveur si celui-ci est installé dans un sous-répertoire. Il est nécessaire pour le calcul des urls personnalisées par la balise #URL_PAGE.

3. Modifier le fichier .htaccess
Pour rendre effectives ces nouvelles urls, il ne reste plus qu’à mettre en place la redirection dans le fichier .htaccess : copiez-y le code indiqué en fin de formulaire (la section "réglages personnalisés" est toute indiquée).

Formulaire après complétion

Téléchargement

Version 0.1.13

Evolution

Toutes les contributions sont les bienvenues, il s’agit d’un premier jet et de nombreuses améliorations sont possibles.

Voir en ligne : http://plugins.spip.net/urls_pages

Dernière modification de cette page le 6 octobre 2016

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 14 février à 16:08, par Pierrot En réponse à : URLs pages personnalisées

    Bonjour,

    Merci pour ce plugin fort utile :-)

    Il me semble avoir détecté une erreur dans la doc, la page de paramétrage est « exec=controler_urls_pages » et non pas «  ?exec=configurer_urls_pages » et elle est accessible depuis « Publication -> Gestion des URLs » et non pas de puis « Configuration -> Configurer les URL » qui est la page d’activation générale de la ré-écriture. Et il n’est plus utile d’après ce que je lis de modifier le htaccess.

    Mais ma question principale :

    j’essaye de rendre jolies les urls de la recherche pour un site basé sur cet outil à tous les niveaux.
    Le plugin fait bien le boulot pour remplacer /spip.php ?page=recherche&recherche=toto par /trouve ?recherche=toto mais je me demandais s’il y aurait une solution pour arriver à un truc du genre /trouve/toto (sachant que toto peut être aussi bien un mot-clé au sens spip qu’une recherche fulltext (mais ça je gère ailleurs) ?

    Merci !

    • Le 22 février à 12:35, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,
      Oui c’est vrai pour les 2 premières remarques, la branche 1 a changé pas mal de choses et un nouvel article doit être publié.
      Par contre je confirme qu’il n’est pas possible d’utiliser des URLs au format « arborescent », mais uniquement au format « propre ».

      Ps . bizarre, je n’avais pas reçu la notification pour ton message.

    • Le 22 février à 12:47, par Pierrot En réponse à : URLs pages personnalisées

      Ok merci pour la réponse !

    Répondre à ce message

  • Le 3 février à 10:15, par Paulbe En réponse à : URLs pages personnalisées

    Hello,
    sur un SPIP 3.1.3 [23214] et un plugin fraichement installé : « URLs Pages Personnalisées » (version : 1.0.7)

    Si je clique sur le lien proposé par le plugin j’ai => Accès interdit
    Vous n’avez pas le droit d’accéder à la page controler_urls_pages.
    et si je me rends sur les onglets je ne vois pas celui de configuration.

    Aucun bug à part que rien ne se passe :-p

    Me demande si c’est pas un problème de droits ? ...
    Amitié
    Paulbe

    • Le 3 février à 10:45, par tcharlss En réponse à : URLs pages personnalisées

      Comme ça, je dirais que la « gestion avancée des URLs » n’est pas activée, dans « Configuration → Configurer les URLs ».
      Si c’est bien ça le problème, il faudra que je le rajoute dans la phrase d’explication (et tant qu’à faire, écrire la doc pour cette nouvelle version du plugin.)

    • Le 3 février à 10:52, par Paulbe En réponse à : URLs pages personnalisées

      Oups en effet, désolé pour le bruit ... je continue ma découverte du plugin.

      Merci pour le boulot en tout cas !
      Amitié

      Paulbe

    • Le 3 février à 11:03, par Paulbe En réponse à : URLs pages personnalisées

      Si j’ai bien compris cette version du plugin permet de ne pas devoir modifier le htaccess ?

      Si oui je constate un truc... mes url de site sont configurées avec .html à la fin, si je mets le lien par exemple

      |video|touteslesvideos|../squelettes/video.html|

      J’ai maintenant une page avec touteslesvideos mais sans .html à la fin ce qui n’est pas logique avec mes autres URL, j’ai donc tenté avec touteslesvideos.html mais il me crée alors touteslesvideos-html mais toujours sans le .html à la fin...

      Suis-je à l’ouest ?
      Merci
      Paulbe

    • Le 3 février à 11:17, par tcharlss En réponse à : URLs pages personnalisées

      Oui c’est exact, plus besoin de modifier le htaccess.

      Alors je confirme que pour l’instant, on ne peut pas ajouter « .html » à la fin des ces URLs, mais c’est un choix arbitraire et techniquement ça pourrait fonctionner.
      En fait je réutilise les vérifications du formulaire d’édition des URLs, qui n’accepte que le format « propre ». Mais pour les URLs des pages, il n’y a pas de raison d’interdire les extensions à la fin effectivement, je rajoute ça dans la todo list.

      Merci pour les retours !

    • Le 22 février à 12:29, par tcharlss En réponse à : URLs pages personnalisées

      Voilà dans la version 1.0.9 c’est possible d’utiliser l’extension .html (version dispo dans la journée)

    Répondre à ce message

  • Le 3 février à 11:20, par Maïeul En réponse à : URLs pages personnalisées

    Est-ce que cela ne vaudrait pas la peine de passer le plugin du statut « experimental » à « en test » ?

    Répondre à ce message

  • Le 13 septembre 2016 à 02:54, par DD En réponse à : URLs pages personnalisées

    Je suis en SPIP 3.22 avec zspip et j’ai donc des squelettes dans /squelettes/contenu.

    C’est étrange car certains squelettes sont bien listés sur la page de configuration du plugin (exemple page-resume-event) mais pas d’autres (exemple page-groupes_mots).
    Et évidemment c’est cette dernière qui manque qui m’intéresse le plus.

    dd

    • Le 13 septembre 2016 à 12:55, par tcharlss En réponse à : URLs pages personnalisées

      Hello,

      Merci pour le retour, je subodore que comme c’est proche de « groupes_mot », la fonction de détection des pages la considère à tord comme une page d’un objet éditorial.
      Je regarde ça de plus près.

      À noter que dans les prochaines versions, on va enlever cette détection automatique au profit d’une saisie manuelle je pense, ce qui évitera ces désagréments.

    • Le 24 octobre 2016 à 00:18, par DD En réponse à : URLs pages personnalisées

      Hello,

      Il est indiqué que :
      Si Zpip ou Zcore est actif, c’est dans les sous-répertoires « content » et « contenu ».

      Mais pour moi cela ne fonctionne pour aucun des fonds de page listés dans ?exec=controler_urls_pages&onglet=fonds pour les squelettes du dossier contenu/

      exemple : /squelettes/contenu/page-recherche_carto
      "Attribuer une URL" retourne "erreur fond absent page"

      et lorsque je veux l’ajouter manuellement j’ai "Aucun squelette ne correspond à cette page !"

      Bref je dois mal m’y prendre ou bien il y a une incompatibilité quelque part.

    • Le 24 octobre 2016 à 00:21, par tcharlss En réponse à : URLs pages personnalisées

      Hello,
      Ce n’est pas encore prêt pour zpip effectivement.

    • Le 24 octobre 2016 à 00:29, par DD En réponse à : URLs pages personnalisées

      OK
      Alors je reviendrai voir plus tard !

    • Le 24 octobre 2016 à 19:17, par tcharlss En réponse à : URLs pages personnalisées

      En principe, avec la version 1.0.3, ça devrait passer avec Zpip.

    Répondre à ce message

  • Le 23 octobre 2016 à 22:01, par DD En réponse à : URLs pages personnalisées

    Hello,
    Dans cet article ici http://contrib.spip.net/URLs-pages-personnalisees#s-Utilisation
    Les liens ne fonctionnent pas pour moi :
    / ?exec=configurer_urls_pages renvoie Fichier configurer_urls_pages introuvable
    et
     ?exec=configurer_urls ne montre pas la config de ce plugin

    Il faut aller dans ?exec=controler_urls (publicaiion > gestion des urls)

    sur un SPIP 3.1.3

    • Le 23 octobre 2016 à 23:30, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,
      Oui la branche 1.x est une refonte complète du plugin, pas mal de choses on changé dont les menus. Il y aura un nouvel article quand j’aurais eu assez de retours.
      En attendant, cet article ne concerne que la branche 0.x, je vais rajouter cette précision au début.

    Répondre à ce message

  • Le 11 octobre 2014 à 19:03, par Benoit En réponse à : URLs pages personnalisées

    Bonjour, sur free j’ai ce message d’erreur dans l’admin :

    Warning : pathinfo() expects parameter 2 to be long, string given in /mnt/104/sda/6/a/tangofoot/spip/plugins/urls_pages/inc/urls_pages.php on line 136

    • Le 16 octobre 2014 à 16:13, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,
      quelle est la version de PHP ?

    • Le 17 décembre 2014 à 07:37, par Mist. GraphX En réponse à : URLs pages personnalisées

      Bonjour,

      Mais en fait ce ne serait pas intégré a spip ? Dans configuration > url > gestion avancée
      on peut activer l’édition de l’url de chaque objets.

    Répondre à ce message

  • Le 7 septembre 2014 à 22:01, par Patrocle En réponse à : URLs pages personnalisées

    Bonjour,

    votre plugin m’intéresse fortement pour ne pas avoir « spip ?page= ».

    je me sers des urls propres pour le reste.

    Chez moi, le plugin « à l’air de fonctioner » :

    « La nouvelle configuration a été enregistrée .
    N’oubliez pas de copier le code présent en fin du formulaire dans le fichier .htaccess »

    J’ai donc copier le code donné mais lorsque je vais sur mon site, j’ai toujours les pages « mon_site/spip.php ?page=plan » et non juste « mon_site/plan »

    • Le 10 octobre 2014 à 09:43, par Patrocle En réponse à : URLs pages personnalisées

      Re Bonjour,

      maintenant la redirection fonctionne mais la nouvelle page montre ERREUR 404 au lieu de pointer sur ma page.

      Je l’ai testé sur « plan » pour avoir mon_site/plan au lieu de mon_site/spip ?page=plan

    • Le 10 octobre 2014 à 11:49, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,

      Désolé de ne pas avoir répondu à ton premier message.
      En ce qui concerne l’erreur 404, dur de déterminer d’où vient l’erreur.

      Est-ce que redirection est bien opérationnelle avec les urls persos traditionnelle ?
      Peux-tu poster la section de ton .htaccess contenant le code ? (au mieux, toute la section « réglages personnalisés »).

      Sinon, la prochaine version devrait éviter d’avoir à toucher au .htaccess, si tu as le courage d’attendre (car je ne sais pas quand ça sortira :p ).

    • Le 10 octobre 2014 à 12:15, par Patrocle En réponse à : URLs pages personnalisées

      Merci de me répondre,

      j’ai collé en fin du .htaccess comme indiqué

      1. RewriteRule ^contact(\.html)?$ spip.php?page=contact [QSA,E=url_propre:$0,L]
      2. RewriteRule ^plan_site(\.html)?$ spip.php?page=plan [QSA,E=url_propre:$0,L]

      Télécharger

      La redirection se fait bien sur la barre d’adresse mais apparemment il pointe sur rien puisque j’ai l’erreur 404 (qui apparaît lorsque rubrique vide ou page inconnu)

    Répondre à ce message

  • Le 13 août 2014 à 08:48, par Paulbe En réponse à : URLs pages personnalisées

    Hello sur un SPIP 3.0.16 j’ai ceci quand je clique sur les outils pour configurer le plugin

    1 Erreur SQL 1052
    Column ’actif’ in where clause is ambiguous
    SELECT paquets.id_plugin, plugins.id_plugin, plugins.prefixe AS prefixe, plugins.categorie AS categorie, paquets.actif AS actif, paquets.src_archive AS dossier, paquets.constante FROM spip_paquets AS paquets, spip_plugins AS plugins WHERE paquets.id_plugin = plugins.id_plugin AND categorie = « squelette » AND actif = « oui »

    2 Erreur SQL 1052
    Column ’actif’ in where clause is ambiguous
    SELECT paquets.id_plugin, plugins.id_plugin, plugins.prefixe AS prefixe, plugins.categorie AS categorie, paquets.actif AS actif, paquets.src_archive AS dossier, paquets.constante FROM spip_paquets AS paquets, spip_plugins AS plugins WHERE paquets.id_plugin = plugins.id_plugin AND categorie = « outil » AND actif = « oui »

    Une idée de solution pour utiliser ce plugin ?
    Merci
    Paulbe

    Répondre à ce message

  • Le 12 août 2014 à 23:51, par sdegrande En réponse à : URLs pages personnalisées

    Bonjour.
    Je suis nouveau sous spip, alors je vais peut-être dire des bêtises, mais le plugin ne pourrait-il pas utiliser la table spip_urls pour éviter de devoir ajouter une règle de réécriture à la main dans le .htaccess ?

    Je m’explique.

    J’ai écrit le squelette ’tutoriel’.
    A l’aide du plugin « Menus », j’ai ajouté une entrée vers cette page, qui pointe donc vers http://.../spip.php?page=tutoriel
    J’ai activé les urls propres.

    A l’aide de votre plugin, je remplace http://.../spip.php?page=tutoriel par http://.../tuto

    En rechargeant le site, l’URL dans le menu est bien modifiée, mais pour qu’elle soit comprise par spip, il faut effectivement ajouter la règle de réécriture proposée. Sinon -> Erreur 404, normal.

    Donc tout fonctionne pour l’instant.

    J’ai ensuite inséré, à la main, une entrée dans la table spip_urls (url=’tuto’, type=’tutoriel’)
    (et j’ai desactivé le test dans formulaires_configurer_urls_pages_verifier_dist()).

    Du coup, j’ai maintenant l’URL propre qui est bien utilisée dans le menu, et cette URL est comprise par spip (puisqu’elle est définie dans la table spip_urls). Plus besoin de la règle de réécriture...

    Est-il donc possible d’implémenter cette méthode (plutôt que l’utilisation d’une règle de réécriture) dans votre plugin ? Ou y a-t-il un effet de bord que je ne connais pas encore ?

    En tout cas, merci pour votre travail !

    • Le 12 août 2014 à 23:52, par sdegrande En réponse à : URLs pages personnalisées

      Ah, j’ai oublié... Je suis en SPIP 3.0.16...

    • Le 13 août 2014 à 15:04, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,

      Oui, enregistrer les urls des pages avec celles des objets dans la table spip_urls, c’est une piste intéressante. Je vois plusieurs avantages :

      • ça permettrait d’éviter les doublons. Pour l’instant, les urls des pages sont enregistrées dans un meta, il peut donc y avoir des doublons avec les urls des objets.
      • ça éviterait d’avoir à modifier le .htaccess.
      • dans l’interface, il suffirait de se servir du formulaire d’édition d’url.

      Après, les urls persos sont censées se référer à des objets éditoriaux. Donc là, on tordrait un peu le cou à ce mécanisme, il faut voir s’il n’y a pas d’effet secondaire.

      J’avais entamé une version dev qui fonctionne selon le principe, si ça t’intéresse je pourrai te l’envoyer pour tester. S’il n’y a pas de dommage collatéral constaté, ça pourra être reporté sur le plugin.

      Voilà, en tout cas merci pour la suggestion et bonne découverte de SPIP !

    • Le 13 août 2014 à 16:15, par Altine En réponse à : URLs pages personnalisées

      Ah oui, au moins en option svp !

    • Le 13 août 2014 à 16:31, par sdegrande En réponse à : URLs pages personnalisées

      Pas de soucis pour tester le plugin de dev, et vu le peu de choses que j’ai pour l’instant (je vérifie juste d’abord que j’ai bien à disposition toutes les fonctionnalités dont j’ai besoin) ça devrait pas créer de gros dommages.

    Répondre à ce message

  • Le 8 avril 2014 à 10:02, par glims En réponse à : URLs pages personnalisées

    Bon j’ai essayé en SPIP 3.0.16 avec la page recherche.html qui présente les résultats de recherche du formulaire recherche mais sans succès. J’ai pourtant, je crois rien oublié.

    • Le 8 avril 2014 à 11:53, par tcharlss En réponse à : URLs pages personnalisées

      Bonjour,
      Vous voulez dire que la page « recherche » n’apparaît pas dans la liste des pages détectées, ou que la redirection pour cette page ne fonctionne pas ?
      Et est-ce que la redirection fonctionne pour d’autres pages ?

    • Le 8 avril 2014 à 16:25, par glims En réponse à : URLs pages personnalisées

      Bonjour,

      La page recherche est bien listée mais ça ne fonctionne pas.
      Je n’ai pas testé sur d’autres page étant donné que je n’ai que la page recherche qui est détectée.

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Thélia

    26 juin 2007 – 937 commentaires

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • Ferme à SPIP

    3 janvier 2008 – 140 commentaires

    Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec le plugin "Mutualisation" à partir d’un nom de domaine principal.

  • Japibas, squelette responsive

    11 octobre 2013 – 91 commentaires

    Japibas est un squelette responsive, multilingue (français, anglais et espagnol), dont l’habillage conviendrait à un site de type blog ou webzine. Le graphisme est inspiré du template Wordpress Japibas réalisé par Jesper Johansen et distribué sous (...)

  • GIS 4

    11 août 2012 – 1340 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Massicot

    7 octobre 2015 – 63 commentaires

    Recadrez et redimensionnez vos images directement dans l’espace privé de SPIP ! Inspiré par le plugin photospip, ce plugin plus minimaliste permet de recadrer et redimensionner les images dans l’espace privé de SPIP. Une fois le plugin installé (...)