Réécriture url : un propre-qs affichant le descriptif de la rubrique et non le titre ?

Quand je vois la facilité avec laquelle tu réponds à mes questions, je me dis que vraiment, il faudrait que je me mette au PHP d’une façon sérieuse. J’ai un bouquin, les bases (mais cela remonte un peu…) et du coup, pas de doute, c’est une formation qu’il me faut… Je vais faire des recherches dans cette direction…

Merci encore pour ton aide et la clarté de tes explications. Je vais mettre cela en oeuvre.
J’espère ne plus t’importuner, sauf pour te dire que cela fonctionne très bien !
Bonne journée.
Camilou

From: « denisb » <denisb@laposte.net>
camilou wrote:

J’ai trouvé ce plugin sur spip qui semble effectuer la même action : http://www.spip-contrib.net/Plugin-Effacer-url-propres.
Est-ce qu’en utilisant ce plugin après avoir modifier le code de mon fichier, j’obtiendrais bien le même résultat qu’en intervenant sur la bdd ?

ce plugin efface en bloc le champ url_propre des tables articles,
rubriques… que tu sélectionnes.

il met à jour l’url_propre d’un objet à la fois
sans suivre les règles de ecrire/urls/url_propres.php
ce qui te permet, hélas, d’avoir des url du type
http://site.com/Voici-le%20%3Ctitr%C3%A9%3E%20de%20%C3%A7a.html
pour avoir entré
http://site.com/Voici-le <titré> de ça.html
ou encore (et là : boum 404)
http://site.com/Voici-le%20%3Ctit&%C3%A9%3E%20d#%20%C3%A7a.html
pour
http://site.com/Voici-le <tit&é> d# ça.html

bref, pour ré-emplir (mettre à jour) en bloc tous les champs url_propre
d’une table (articles ou rubriques dans ton cas), il te faudra coder un
petit bout de script perso.
par exemple (à adapter sans doute) :

<?php include_spip('ecrire/urls/propres.php'); // pour les url_propre des rubriques $req_rub = spip_query("SELECT id_rubrique AS id_r FROM spip_rubriques WHERE 1"); while($res_rub = spip_fetch_array($req_rub)) { $id_r = $res_rub['id_r']; spip_query("UPDATE spip_rubriques SET url_propre = '' WHERE id_rubrique = $id_r"); $new_url_rub = _generer_url_propre('rubriques', $id_r); } // pour les url_propre des articles $req_art = spip_query("SELECT id_article AS id_a FROM spip_articles WHERE 1"); while($res_art = spip_fetch_array($req_art)) { $id_a = $res_art['id_a']; spip_query("UPDATE spip_articles SET url_propre = '' WHERE id_article = $id_a"); $new_url_art = _generer_url_propre('articles', $id_a); } ?>

tu nommes ton script mes_urls.html et tu l’appelles par
http://mon_site.com/?page=mes_urls