SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 97 visiteurs en ce moment

Accueil > Statistiques et référencement > Réécriture d’URL > Des vrais noms de rubrique sans toucher à Apache ?

Des vrais noms de rubrique sans toucher à Apache ?

{{Une ruse de sioux}}. Enterrez la hache de guerre avec Google.

12 mars 2003 – par philippe – 24 commentaires

2 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Finalement transformer rubrique.php3 ?id_rubrique=46 en /Rubrique1/ssRubrique1.1/ssRubrique1.1.1 n’est pas aussi difficile qu’il y paraît : Spip, le php et le html ont tout ce qu’il faut en magasin pour vous permettre de faire un joli rubricage compréhensible de tous et que vous pourrez retenir de mémoire !

L’intérêt du renommage des rubriques est double :

-  Permettre à tout un chacun de mémoriser l’adresse de la partie du site qui l’intéresse.
-  Permettre aux moteurs de recherche (Google et google-like) de mieux indexer votre site par une bonne lecture des url.

La façon la meilleure de réaliser cela, c’est les règles de rewrite url d’Apache. Evidemment, la lumineuse explication que nous en a fait le site de Spip n’est pas toujours limpide ni facile à mettre en oeuvre pour le quidam.

Voyons si nous ne pouvons pas faire plus simple :

Nous allons :
-  Renommer les rubriques avec leurs #TITRE ;
-  Créer l’arborescence et ses raccourcis ;
-  Corriger les problèmes de cohérence ;
-  Apprendre à refaire nos boucles SPIP.

Renommer les rubriques

C’est un préalable, une rubrique se définit par un mot et un seul qui la caractérise et dont l’assemblage avec ses ascendants est « logique ».

Exemple : /Maladie/Diagnostic/Biologie

Gardez une logique de nommage et tenez-vous y ! (Majuscule ou pas sur la première lettre, singulier ou pluriel etc. )

Vous pouvez utiliser des caractères accentués car j’ai fait pour vous un petit filtre spip pour enlever les accents secondairement.

Créez PHYSIQUEMENT votre arborescence

Allez zou, direction votre client FTP préféré. Vous créez les répertoires aux noms de #TITRE de vos rubriques mais sans accents. Dossiers, sous-dossiers avec dans chaque dossier un fichier index.php vide pour l’instant.

C’est fait ? Bien.
Alors tapez dans chacun des fichiers index.php la seule ligne suivante :

<?php include("http://www.votresite.com/rubrique.php3?id_rubrique=xx"); ?>

Evidemment "xx" c’est le numéro de rubrique que spip a attribué à chacune de vos rubriques et que vous allez oublier très vite après notre manip.

Et maintenant ? Corriger les problèmes...

Bon, c’est joli : /Rubrique1/Rubrique1.1/Rubrique1.2/ donne bien la page escomptée mais j’ai des problèmes de liens relatifs qui ne fonctionnent plus.

C’est vrai ? ben dommage :-)

Non, en fait c’est tout bête : rajoutez cette simple ligne dans votre squelette de rubrique dans le <head> :
<base href="#URL_SITE_SPIP">

Et voilà, toutes les images sont à nouveau bonnes :-)

Vous êtes trop forts les gars !

Hum, encore des problèmes ? Vraiment ?

Ah ben oui, on a rien sans rien.

Vos liens relatifs sans url ne marchent plus ? <a href="#top">Top</a> vous renvoie sur la page d’accueil du site ? Logique, c’est vous qui avez défini plus haut le base href :-)

Heureusement, petits veinards, php a pensé à vous ! $PHP_SELF n’est pas pour les chiens, elle appelle la page en cours de lecture soit rubrique.php3.

Comment ça ça ne vous aide pas ?
Mais si, il faut juste y ajouter l’#ID_RUBRIQUE. Ce qui nous donne donc <a href="<? $PHP_SELF.?id_rubrique=#ID_RUBRIQUE ?>#top">top</a>

Et voilà le travail !

Mais en spip ça nous donne quoi tout ça ?

Bon, c’est vrai #URL_RUBRIQUE n’est plus vraiment ce qu’il était... Tout se perd, plus rien n’est comme avant. A qui le dites vous ma bonne dame mais vous ne croyez tout de même pas qu’en vous passant d’Apache vous n’alliez pas y laisser des plumes ?

Dorénavant il va vous falloir remplacer #URL_RUBRIQUE par :

#URL_SITE_SPIP/[(#TITRE|enlever_accents)] pour les niveaux d’arborescence primaire

et pour les sous-rubriques par :

<a href="#URL_SITE_SPIP/
                        <BOUCLE_sshierarchie(HIERARCHIE){id_rubrique}>
                        [(#TITRE|enlever_accents)]/
                        </BOUCLE_sshierarchie>[(#TITRE|enlever_accents)/]

Voilà, ça marche :-)

« Ben oui mais c’est quoi la fonction enlever_accents, il l’a pas mon spip ce filtre » allez-vous me dire.

Oui, c’est vrai ça mais je vous en avais déjà parlé plus haut.

Bon ben... va falloir la rajouter dans mes_fonctions.php3 mes poulets :-)

Allez zou :

faites moi un copier/coller de ces lignes dans le fichier qui va bien (mes_fonctions.php3) :

/////////////////////////////////////////////////////////////////////////
////////////////Pour enlever les accents d'un mot
//////VersionPc:
////////"ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàáâãäåçèéêëìíîï©£òóôõöùúûü~ÿ"
/////VersionMac:
///////"¿¡¬?ƒ?«»... ÀÃÕŒœ""''÷Ÿ/€‹›‡·‚„‰ÂÁËÈÍÎÏÌÓÔ?ÚÛÙ?ˆ
/////Pour utiliser la version mac, deplacer le # la ligne au dessus
////////// Exemple : [(#TEXTE|enlever_accents)]
///////////////////////////////////////////////////////////////////////
function enlever_accents($texte){
if (!(is_string($texte)))

    return ("");

  $sortie = strtr($texte,
"ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛܯàâãäåçèéêëìíîï©£òóôõöùúûü~ÿ",
#"¿¡¬?ƒ?«»... ÀÃÕŒœ""''÷Ÿ/€‹›‡·‚„‰ÂÁËÈÍÎÏÌÓÔ?ÚÛÙ?ˆ
"AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy");
  return $sortie;
}
/////////////////////////////////////////////////////////

Quoi des questions ? Comment ça des questions ? Ben allez y : y a le forum pour ça !

Dernière modification de cette page le 27 août 2009

Retour en haut de la page

Vos commentaires

Répondre à cet article

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 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

  • Passer un site SPIP sous https://

    23 février 2017 – 39 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • cipr : plugin « Prévisualisation étendue »

    22 septembre 2010 – 40 commentaires

    Ce plugin "cipr : Prévisualisation étendue" permet de naviguer sur le site en prévisualisation, entre articles et rubriques, sur la page d’accueil, etc. Ce plugin de prévisualisation étendue permet de : naviguer en prévisualisation entre articles et (...)

  • À propos des plugins actifs

    13 novembre 2010 – 25 commentaires

    À propos des plugins actifs affiche dans la partie publique de votre site la version de SPIP utilisée et la liste des Plugins activés avec affichage de l’icône, le nom, la version, l’état et une introduction de sa fonction. Si le Plugin n’a pas (...)

  • ScolaSPIP 4

    19 janvier 2016 – 362 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 23 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)