Comment faire ??

Bonjour à tous,

Je suis entrain de mettre a jour un de mes sites, dont une partie en spip 1.82
(oui je sais c'est pas très récent :wink: ). Et l’autre partie en pure HTML (à
l’époque j’étais plus noob qu’aujourd’hui)

Je ne suis jamais passer à une version supérieur car les urls des articles avec
la version 1.8 ont le modèle d’URL « article.php3?id_article=XXXX » , et lors
de la sortie de spip 1.9, l’url par défaut a changer.

De ce fait, je suis toujours sous PHP4, car la version 1.8 est incompatible php5

En changeant donc de version, je perdrais tous les articles bien référencés. Et
aujourd’hui j’en ai plus de 10.000.

Je vais changer la partie HTML de mon site pour la mettre sous spip 2.10 (Oui
il était temps), qui lui supporte php5.

Donc ma question comment puis-je faire, pour garder une partie de mon site en
1.8 et l’autre en 2.1.

En sachant que j’ai tenté plusieurs fois de rewrité les urls d’une version 1.9
ou 2.0 pour avoir le même modèle que la version 1.8, mais impossible

Je ne sais pas si j’étais claire.

Merci

Bonjour,

Pour la traçabilité des anciennes urls, SPIP 2 possède un fichier htaccess qui gère cela. Il suffira de renommer ce fichier en « .htaccess » pour que le routage vers la « nouvelle » url se fasse.
Donc, pas de soucis de perte de référencement… On peut tout passer à SPIP 2.x sans soucis particulier pour bénéficier des dernières nouveautés.

Le 6 avril 2010 10:45, Mehdi.B <rapdz@free.fr> a écrit :

Bonjour à tous,

Je suis entrain de mettre a jour un de mes sites, dont une partie en spip 1.82
(oui je sais c’est pas très récent :wink: ). Et l’autre partie en pure HTML (à
l’époque j’étais plus noob qu’aujourd’hui)

Je ne suis jamais passer à une version supérieur car les urls des articles avec
la version 1.8 ont le modèle d’URL « article.php3?id_article=XXXX » , et lors
de la sortie de spip 1.9, l’url par défaut a changer.

De ce fait, je suis toujours sous PHP4, car la version 1.8 est incompatible php5

En changeant donc de version, je perdrais tous les articles bien référencés. Et
aujourd’hui j’en ai plus de 10.000.

Je vais changer la partie HTML de mon site pour la mettre sous spip 2.10 (Oui
il était temps), qui lui supporte php5.

Donc ma question comment puis-je faire, pour garder une partie de mon site en
1.8 et l’autre en 2.1.

En sachant que j’ai tenté plusieurs fois de rewrité les urls d’une version 1.9
ou 2.0 pour avoir le même modèle que la version 1.8, mais impossible

Je ne sais pas si j’étais claire.

Merci


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Bonjour,

Je ne suis jamais passer à une version supérieur car les urls des articles avec
la version 1.8 ont le modèle d’URL « article.php3?id_article=XXXX » , et lors
de la sortie de spip 1.9, l’url par défaut a changer.

De ce fait, je suis toujours sous PHP4, car la version 1.8 est incompatible php5

En changeant donc de version, je perdrais tous les articles bien référencés. Et
aujourd’hui j’en ai plus de 10.000.
   

-> Pas forcément.
Dans le htaccess de la famille 2.XX, tu as des lignes spécifiques prévues pour la rétro compatibilité.
Si tu les décommente, ca devrait aller mieux tes affaires :

# SPIP version 'php' - si vous avez d'anciennes adresses en '.php[3]',
# supprimez le '#' sur les lignes qui suivent pour rediriger les acces
# errones vers le .php correspondant

#RewriteCond %{REQUEST_FILENAME} -f
#RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]

# Fin version
###

Les deux lignes
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]
Veulent dire en substance: "si l'url reçue est de la forme XXXX.php ou XXXX.php3, rediriger vers XXXX.php.
Cela permet de conserver les liens pointant vers les anciennes url en fonctionnement.

Maintenant, rien n'empêche de faire encore plus brutal et de rediriger toutes les lignes de la même forme que la première ligne à coup de redirections 301.
Si tu fais ca, les navigateurs suivront les liens, et plus intéressant, les moteurs mettront à jour leur index selon les redirections, donc le référencement suivra.

Petite info en passant pour tes modifications de fichier htaccess ( les flags utils ):

[L,R=301] :
* L arrête le processus de ré-écriture, quand une règle est appliquée.
* R=301 précise qu'il s'agit d'une redirection définitive ( par opposition au 302 qui est temporaire ).
[C] :
* C pour chainer la règle avec les règles suivantes

Donc ma question comment puis-je faire, pour garder une partie de mon site en
1.8 et l’autre en 2.1.
   

-> A froid, c'est mal engagé. En outre, c'est pas franchement recommandé de tenter ce genre de bidouilles: si ton site tient au scotch, tu risques des ennuis au premier imprévu.

En sachant que j’ai tenté plusieurs fois de rewrité les urls d’une version 1.9
ou 2.0 pour avoir le même modèle que la version 1.8, mais impossible
   

-> C'est pourtant faisable, et c'est la solution la plus propre dans ton cas...

Bons tests !

Excusez du retard de ma réponse, mais j'ai choppé la crève

Je vais tenté donc de passer de la versiion 1.8 a la version 2.0, tout en
passant pas la version 1.9.

Dans ta réponse du m'indique que je peux rediriger toutes les lignes de la même
forme que la première ligne à coup de redirections 301.

Heu comment ??

Selon Vincent <vincent@logaweb.fr>:

Bonjour,

> Je ne suis jamais passer à une version supérieur car les urls des articles
avec
> la version 1.8 ont le modèle d’URL « article.php3?id_article=XXXX » , et
lors
> de la sortie de spip 1.9, l’url par défaut a changer.
>
> De ce fait, je suis toujours sous PHP4, car la version 1.8 est incompatible
php5
>
> En changeant donc de version, je perdrais tous les articles bien
référencés. Et
> aujourd’hui j’en ai plus de 10.000.
>
-> Pas forcément.
Dans le htaccess de la famille 2.XX, tu as des lignes spécifiques
prévues pour la rétro compatibilité.
Si tu les décommente, ca devrait aller mieux tes affaires :

# SPIP version 'php' - si vous avez d'anciennes adresses en '.php[3]',
# supprimez le '#' sur les lignes qui suivent pour rediriger les acces
# errones vers le .php correspondant

#RewriteCond %{REQUEST_FILENAME} -f
#RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]

# Fin version
###

Les deux lignes
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]
Veulent dire en substance: "si l'url reçue est de la forme XXXX.php ou
XXXX.php3, rediriger vers XXXX.php.
Cela permet de conserver les liens pointant vers les anciennes url en
fonctionnement.

Maintenant, rien n'empêche de faire encore plus brutal et de rediriger
toutes les lignes de la même forme que la première ligne à coup de
redirections 301.
Si tu fais ca, les navigateurs suivront les liens, et plus intéressant,
les moteurs mettront à jour leur index selon les redirections, donc le
référencement suivra.

Petite info en passant pour tes modifications de fichier htaccess ( les
flags utils ):

[L,R=301] :
* L arrête le processus de ré-écriture, quand une règle est appliquée.
* R=301 précise qu'il s'agit d'une redirection définitive ( par
opposition au 302 qui est temporaire ).
[C] :
* C pour chainer la règle avec les règles suivantes

> Donc ma question comment puis-je faire, pour garder une partie de mon site
en
> 1.8 et l’autre en 2.1.
>
-> A froid, c'est mal engagé. En outre, c'est pas franchement recommandé
de tenter ce genre de bidouilles: si ton site tient au scotch, tu
risques des ennuis au premier imprévu.
> En sachant que j’ai tenté plusieurs fois de rewrité les urls d’une version
1.9
> ou 2.0 pour avoir le même modèle que la version 1.8, mais impossible
>
-> C'est pourtant faisable, et c'est la solution la plus propre dans ton
cas...

Bons tests !

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Bonjour,

Avant de te lancer dans ce type d'opérations, je te recommande chaudement de faire des tests en local ( dans la mesure du possible ) et de lire un brin sur le sujet.
Les fichiers htaccess ne sont pas forcément super intuitifs, donc autant être prudent...

Je t'ai mis dans mon précédent message les flags qui permettent de faire des redirections et d'arreter le traitement.
Tu peux donc en partant de la faire une bricole sur les deux lignes du fichier original :

# Si le fichier n'existe pas ( le script dans notre cas )
RewriteCond %{REQUEST_FILENAME} !-f

#Rediriger tout ce qui est de la forme XXXX.php3 vers XXXX.php avec une redirection 301 et arrêter la le traitement.
RewriteRule ^(.+)\.php3$ $1.php [R=301,L]

#Alternative pour s'assurer que TOUT retombe sur spip.php, mais vu ce qu'il y a plus loin dans le fichier, cela ne me semble pas souhaitable.
#Rediriger tout ce qui est de la forme XXXX.php3 vers spip.php avec une redirection 301 et arrêter la le traitement.
# RewriteRule ^(.+)\.php3$ spip.php [R=301,L]

Voila quelques pistes, il faudra probablement affiner un peu le truc pour répondre à tes besoins.
Dans la mesure ou je suis relativement novice sous spip, j'avoue que je n'ai pas trop idée de la tête que pouvaient avoir les anciennes URL, tout cela reste donc approximatif.

En passant, avec ce même genre d'astuces, tu peux basculer tous tes fichiers statiques d'origine vers des articles sur ton spip que tu auras créé pour l'occasion...

La syntaxe de ces fichiers est casse pied, mais on peut vraiment en faire pas mal de choses ...