[RESOLU] htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

Re: htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

par oOlivier » 19 mars 2025, 09:37

Et un petit outil très pratique pour tester/ajuster ses règles de htaccess :
madewithlove
Oh merci ! Celui la je vais le garder au chaud. Il a sauvé ma nuit :D

Re: htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

par oOlivier » 19 mars 2025, 09:36

il faut utiliser QUERY_STRING pour manipuler ce qu'il y a après ?
exemple :
RewriteCond %{QUERY_STRING} (^|.*&)marque=MAMARQUE(&.*|$)
RewriteRule (.*)$ http://%{HTTP_HOST}/votreurl?marque=MANOUVELLEMARQUE [L,R=301]
Merci beaucoup ! Je ne connaissais pas le fonctionnement des QUERY_STRING. En mettant le htaccess dans le dossier /ecrire/ j'ai pu rediriger les adresses.

Re: htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

par @rthur » 19 mars 2025, 01:40

Et un petit outil très pratique pour tester/ajuster ses règles de htaccess :
https://htaccess.madewithlove.com/

Re: htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

par or 1 » 18 mars 2025, 23:16

il faut utiliser QUERY_STRING pour manipuler ce qu'il y a après ?
exemple :
RewriteCond %{QUERY_STRING} (^|.*&)marque=MAMARQUE(&.*|$)
RewriteRule (.*)$ http://%{HTTP_HOST}/votreurl?marque=MANOUVELLEMARQUE [L,R=301]

htaccess - RewriteRule - problème de rédirection d'adresses "compliquées"

par oOlivier » 18 mars 2025, 22:17

Bonjour,
suite à une erreur d'enregistrement d'adresses dans des QRCodes j'ai besoin de rediriger les adresses dans le .htaccess
depuis :
[domaine]/ecrire/?exec=article&action=redirect&type=article&id=42
[domaine]/ecrire/?exec=article&action=redirect&type=article&id=41

vers les pages
article42.html
article41.html

Je suis loin d'être un spécialiste des fichiers .htaccess
mais j'ai essayé depuis la racine du site :
RewriteEngine on 
RewriteRule  ^/ecrire/?exec=article&action=redirect&type=article&id=42$ article42.html [QSA,L]

j'ai essayé depuis le dossier /ecrire/ :
RewriteEngine on 
RewriteRule  ^?exec=article&action=redirect&type=article&id=42$ article42.html [QSA,L]

et en "expression reguliere" pour ne garder que le numéro de fin
RewriteEngine on 
RewriteRule ^(.+)id=42$ article42.html [L]

Rien n'y fait. L'adresse est interprétée et m'amène à l'interface de connexion du backoffice.
J'ai testé avec des redirections simple elles fonctionnent (de truc.html vers machin.html).
Donc le .htaccess est bien exploité mais pas avec mes adresses avec passage de paramètres.
Je ne sais pas si c'est un problème de syntaxe ou de caractère à déspécialiser, ou même si c'est possible.

Bref si quelqu'un s'est déjà frotté au .htaccess et ses options avec ce type de redirection je suis preneur de piste de solution avant la crise de nerf :D