Redirection RewriteRule et SPIP
Redirection RewriteRule et SPIP
Serait-il indiscret de savoir le contenu de votre htaccess (http://www.geckozone.org) qui permet la redirection à la volée des url de type "rubriques/1-marubrique/" en "rubrique.php3?id_rubrique=1" ?
J'ai eu beau lire différents sites qui explique les RewriteRule, je m'emmelle les pinceaux et je n'arrive pas à obtenir ce résultat.
Dans tout les cas, bravo pour ce site et ce forum que je découvre avec plaisir depuis quelques jours.
J'ai eu beau lire différents sites qui explique les RewriteRule, je m'emmelle les pinceaux et je n'arrive pas à obtenir ce résultat.
Dans tout les cas, bravo pour ce site et ce forum que je découvre avec plaisir depuis quelques jours.
Une petit guide sur les rewrite est diponible dans le manuel de SPIP, http://www.spip.net/fr_article765.html .
Mais en effet il semble que ce ne sont pas lesmême règles que celles utilisées ici.
Mais en effet il semble que ce ne sont pas lesmême règles que celles utilisées ici.
Butineur, blog sur Mozilla, Firefox et les idées libres.. "Troll du soir, espoir ..."
T'as plus qu'a attendre que les admins passent par ici alors 

Butineur, blog sur Mozilla, Firefox et les idées libres.. "Troll du soir, espoir ..."
C'est Olivier (olab) qui s'est occupé de ça, et il est en vacances pour l'instant.
Tout ce que je peux dire c'est que, au cas où vous ne l'aviez pas vu, c'est basé sur le début (rubriques/1) et qu'après on peut écrire à peu près n'importe quoi, ça sera bien redirigé à cause du 1 qui renverra vers id_rubrique=1.
Tout ce que je peux dire c'est que, au cas où vous ne l'aviez pas vu, c'est basé sur le début (rubriques/1) et qu'après on peut écrire à peu près n'importe quoi, ça sera bien redirigé à cause du 1 qui renverra vers id_rubrique=1.
Coucou, de retour de vacances, je peux enfin te répondre 
Voici donc les règles du mod_rewrite :
Bien sûr il faut que la génération des urls via le inc-urls soit correcte, sinon...
Edit: j'ai rajouté les exceptions au début

Voici donc les règles du mod_rewrite :
Code : Tout sélectionner
# Corrections (notamment pour que les images passent)
RewriteRule ^(.*)/(IMG|squelettes|ecrire)/(.*)$ /$2/$3 [R=301,QSA,L]
RewriteRule ^(.*)/(spip_barre\.js|puce\.gif|puce_rtl\.gif)$ /$2 [R=301,QSA,L]
# Comme ces premieres regles contiennent des {articles,actualites} il faut les placer en premier
RewriteRule ^articles/xml/([0-9]*)(-(.*))?$ backend.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^articles/atom/([0-9]*)(-(.*))?$ backend_atom.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^articles/js/([0-9]*)(-(.*))?$ distrib_articles.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^actualites/xml/([0-9]*)(-(.*))?$ backend-breves.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^actualites/atom/([0-9]*)(-(.*))?$ backend-breves_atom.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^actualites/js/([0-9]*)(-(.*))?$ distrib_breves.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^articles/((19|20)[0-9]{2}/(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/)?([0-9]+)(-(.*))?$ article.php3?id_article=$5 [QSA,L]
RewriteRule ^actualites/((19|20)[0-9]{2}/(0[1-9]|1[012])/(0[1-9]|[12][0-9]|3[01])/)?([0-9]+)(-(.*))?$ breve.php3?id_breve=$5 [QSA,L]
RewriteRule ^rubriques/([0-9]+)(-[^/]*)?/$ rubrique.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^auteurs/([0-9]+)(-(.*))?$ auteur.php3?id_auteur=$1 [QSA,L]
RewriteRule ^auteurs/$ auteur.php3 [QSA,L]
RewriteRule ^contributeurs/([0-9]+)(-(.*))?$ contributeur.php3?id_auteur=$1 [QSA,L]
RewriteRule ^contributeurs/$ contributeur.php3 [QSA,L]
RewriteRule ^forums/([0-9]+)(-(.*))?$ forum.php3?id_forum=$1 [QSA,L]
RewriteRule ^plan/$ plan.php3 [QSA,L]
RewriteRule ^syndication/$ syndication.php3 [QSA,L]
RewriteRule ^js/([0-9]*)(-(.*))?$ distrib.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^xml/([0-9]*)(-(.*))?$ backend_tout.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^atom/([0-9]*)(-(.*))?$ backend_tout_atom.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^rubriques/$ plan.php3 [QSA,L]
RewriteRule ^articles/$ site_articles.php3 [QSA,L]
RewriteRule ^actualites/$ site_breves.php3 [QSA,L]
RewriteRule ^rubriques/([0-9]+)(-[^/]*)?/articles/$ rubrique_articles.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^rubriques/([0-9]+)(-[^/]*)?/actualites/$ rubrique_breves.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^profils/([0-9]*)(-(.*))?$ profil.php3?id_mot=$1 [QSA,L]
RewriteRule ^apropos/$ apropos.php3 [QSA,L]
RewriteRule ^coingeckozone/$ coin_geckozone.php3 [QSA,L]
RewriteRule ^coingeckozone/ressources/(.*)$ ressources/$1 [QSA,L]
RewriteRule ^telechargement/$ telechargement.php3 [QSA,L]
RewriteRule ^aide/$ aide.php3 [QSA,L]
Edit: j'ai rajouté les exceptions au début

Dernière modification par olab le 10 janv. 2005, 16:56, modifié 2 fois.
Alors pour ce qui est de générer des urls correctes via le inc-url, ca va j'ai réussi. Donc là je test avec un article, impec, il me redirige vers le bon article.
Un seul problème, l'adresse étant:
Je n'ai nis le CSS ni les images qui apparaissent.
Normal, d'après l'adresse je suis dans le répertoire articles/2005/....
Donc quand je veux afficher l'image: "images/monimage.jpg" il va chercher dans /articles/2005/01/07/419-Blabla/images/monimages.jpg", du moins je le suppose...
Il faudrait donc que je mette "http://monsite/css/moncss.css" et la même syntaxe pour les images dans les SRC.
Premièrement ca ne m'arrange pas trop et deuxièmement j'ai vu que ce n'était pas le cas sur le site de geckozone.
Il y a une astuce ?
PS: je suis sur que c'est très con, c'est la fin de journée....
Un seul problème, l'adresse étant:
Code : Tout sélectionner
http://monsite/articles/2005/01/07/419-Blabla
Normal, d'après l'adresse je suis dans le répertoire articles/2005/....
Donc quand je veux afficher l'image: "images/monimage.jpg" il va chercher dans /articles/2005/01/07/419-Blabla/images/monimages.jpg", du moins je le suppose...
Il faudrait donc que je mette "http://monsite/css/moncss.css" et la même syntaxe pour les images dans les SRC.
Premièrement ca ne m'arrange pas trop et deuxièmement j'ai vu que ce n'était pas le cas sur le site de geckozone.
Il y a une astuce ?
PS: je suis sur que c'est très con, c'est la fin de journée....
Tututu, pas la peine de te rabaisser, c'est moi qui ne t'ai pas tout donné 
Mets ça au debut de l'htaccess et ça devrait aller

Mets ça au debut de l'htaccess et ça devrait aller

Code : Tout sélectionner
# Corrections (notamment pour que les images passent)
RewriteRule ^(.*)/(IMG|squelettes|ecrire)/(.*)$ /$2/$3 [R=301,QSA,L]
RewriteRule ^(.*)/(spip_barre\.js|puce\.gif|puce_rtl\.gif)$ /$2 [R=301,QSA,L]
Merci, au passage je viens de voir qu'en mettant...
...au lieu de...
...ca resolvait le problème!
Code : Tout sélectionner
<img src="/img/pouet.gif" />
Code : Tout sélectionner
<img src="img/pouet.gif" />
Ah ... j'aime partager mon travail d'habitude, mais là je suis désolé, c'est l'intranet de mon entreprise 
Edit: mais je compte me mettre à faire un site perso prochainement et je reprendrais toutes les bonnes idées que j'ai pu voir sur geckozone

Edit: mais je compte me mettre à faire un site perso prochainement et je reprendrais toutes les bonnes idées que j'ai pu voir sur geckozone

Dernière modification par Ezor le 10 janv. 2005, 17:12, modifié 1 fois.
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité