[Résolu] Peut-on rediriger une adresse du type /spip.php?page=login&url=/ecrire/[...] vers un article ?

Bonjour,
j’ai enregistré par erreur dans un QRCode une adresse en
[domaine]/spip.php?page=login&url=/ecrire/[…]
au lieu du lien direct
[domaine]/spip.php?article42

Et maintenant le lien même à la page de connexion au backoffice.
C’est la grosse boulette car les QRCode ne seront pas regénérés.

J’ai beau farfouiller je ne trouve pas de solution. Si quelqu’un a des pistes je suis preneur. Merci.

oOlivier
Le site est sous SPIP 3.2.7

Avec cette version de SPIP, le problème devrait rapidement être réglé puisqu’il se fera certainement pirater ^^

Tu peux certainement le faire depuis ton htaccess avec une rewriterule.

Oui pour la version ce n’est pas faux. Mais si je peux trouver une solution avant le piratage^^ ca m’arrangerai.
Je n’ai jamais utilisé rewriterule, je vais regarder ca.
Merci

Je teste les RewriteRule. La premiere fonctionne correctement donc les reecritures sont fonctionnelles. Mais aucune des deux autres ne fonctionnent. Il y a d’autres caractères que le « . » à despecialiser ? ou autre chose ?

RewriteRule ^nexistepas.html$ trouve.html [L]
RewriteRule ^ecrire/?exec=article&action=redirect&type=article&id=([0-9]+)$ spip.php?article$1 [L]
RewriteRule ^spip.php?page=login&url=/ecrire/?exec=article&type=article&id=([0-9]+)$ spip.php?article$1 [L]
RewriteRule ^spip.php?page=login&url=%2Fecrire%2F%3Fexec%3Darticle%26type%3Darticle%26id%3D42$ spip.php?article42

et pourquoi est-ce que celle la ne marche pas ?
RewriteRule ^nexistepas.html$ spip.php?article42 [QSA,L]
C’est un mystère pour moi

Pour information si quelqu’un a ce genre de besoin un jour. J’ai résolu le problème en utilisant QUERY_STRING sur les conseils d’un forum PHP et en mettant le htaccess dans le dossier /ecrire
Cela donne quelque chose du style

RewriteCond %{QUERY_STRING} (^|.&)id=42(&.|$)
RewriteRule (.*)$ http://%{HTTP_HOST}/spip.php [L,R=301]

RewriteCond %{QUERY_STRING} (^|.&)id=41(&.|$)
RewriteRule (.*)$ http://%{HTTP_HOST}/spip.php [L,R=301]

Merci du partage de la solution qui fonctionne :slight_smile: Je passe le sujet en résolu.

Ceci-dit il faudrait mettre à jour SPIP en version 4.4 rapidement . Il y a des centaines (des milliers ?) de site SPIP qui ont été hackés. Avec des dégâts plus ou moins importants et parfois très difficiles à nettoyer…

Oui j’ai bien compris. Je m’y attèle. Merci.