URL Rewriting SPIP

WRInaute impliqué
Bonjour,

Voila mon probleme, pour des fichiers htaccess presque equivalents, sur deux sites differents j'obtiens une difference de comportement que je n'arrive pas a m'expliquer :

Il s'agit de deux sites sous SPIP, pour faire simple on ne va considerer que le cas d'une reecriture simple d'url pour un article :

Pour le site qui a ce htaccess, le rewriting me convient :

Code:
RewriteEngine On
RewriteRule ^article([0-9]+)\.html$ article.php3?id_article=$1 [QSA,L]

Mais pour celui la, l'url qui apparait dans la barre d'adresse est de la forme -http://www.example.com/artcile.php3?id_article=XXX au lieu du plus plaisant -http://www.example.com/articleXXX.html ; en ecrivant ce post je me rends compte que la difference semble être l'omission du ^ devant article et surtout la reecriture vers une url complete, si quelqu'un peut me le confirmer :

Code:
RewriteEngine On
RewriteRule article-([0-9]+)\.html(.*)$ http://www.example.com/article.php3?id_article=$1$2 [QSA,L]

Personnellement je pense qu'il faudrait reecrire le deuxieme bout de code de la facon suivante pour regler le probleme :

Code:
RewriteEngine On
RewriteRule ^article-([0-9]+)\.html$ article.php3?id_article=$1 [QSA,L]

Si quelqu'un pouvait me le confirmer avant que je renvois tout cela au client :) (je n'ai pas la main sur leur serveur donc je prefere etre sur qu'on fasse la bonne modif du premier coup...)

Merci les pros !
 
WRInaute impliqué
En fait, selon l'hébergement, il faut un slash devant la réécriture. Si tu mets l'url complet, tu provoqueras une redirection, donc ce n'est pas la solution.
 
WRInaute impliqué
En plus je vois pas trop ce que pourais changer ton .htaccess à tes liens dans tes pages, le .htacces ne sert qu'a rediriger des url vers des scripts, pas à formatter des liens, il faut simplement que tu formattes tes liens spip en accord avec tes redirection
Au départ tu as ça :
-http://www.example.com/artcile.php3?id_article=XXX
Et il faut que tu ais ça,
-http://www.example.com/articleXXX.html

Le .htaccess ne sert qu'a rendre valide la deuxieme url.

++
 
Discussions similaires
M
Réponses
9
Affichages
7K
maitreweedoo
M
Haut