Bonjour,
J'ai fait une conversion d'une site en Spip 1.7 à Spip 1.9. Mais les urls
dans Google sont encore de Spip 1.7. Comment est-ce que je peux supporter
les vieux urls? Par exemple article.php?id_article=123 devrait être
spip.php?article123. J'ai essayé avec un htacces:
RewriteEngine on
RewriteRule article\.php\?id_article\=([0-9]+)$ spip.php?article$1 [R]
Mais ca ne fonctionne pas. Est-ce que quelqu'un a des idées?
Bart
Bart Braem wrote:
Bonjour,
J'ai fait une conversion d'une site en Spip 1.7 à Spip 1.9. Mais les urls
dans Google sont encore de Spip 1.7. Comment est-ce que je peux supporter
les vieux urls? Par exemple article.php?id_article=123 devrait être
spip.php?article123. J'ai essayé avec un htacces:
RewriteEngine on
RewriteRule article\.php\?id_article\=([0-9]+)$ spip.php?article$1 [R]
Mais ca ne fonctionne pas. Est-ce que quelqu'un a des idées?
Bart
L'expression ne porte que sur le "path" pas sur le "query" (ce qu'il y a après le ?, il faudrait utiliser RewriteCond sur la variable %{QUERY_STRING} pour ça ...
Mais c'est fait d'avance !
1.9 est livrée avec un fichier htaccess.txt qu'il suffit de renommer .htaccess (avec un point , hein) pour faire ce travail.
On y trouve entre autre:
...
# Compatibilite avec les anciennes URLS appelant directement des fichiers php
RewriteRule ^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|resume|sommaire|sommaire_texte)\.php3?$
spip.php?page=$1 [QSA,L]
...
Qui devrait faire ta vie.
Le RewriteBase du début est important si tu es dans un sous-répertoire.
C'est pas beau, spip ?
--
toggg
bertrand Gugger wrote:
C'est pas beau, spip ?
Je n'avais pas vu ce fichier...
C'est super spip, merci bien!
Bart