Jump to content

Redirection 301 ne marche pas avec "?"


Recommended Posts

Bonjour

j'ai indiqué de nombreuses redirections permanentes d'adresses dans mon .htaccess.
Pour une majorité tout se passe bien.

Par contre pour toutes les urls à rediriger contenant un ?, ça ne redirige pas.

RedirectPermanent /index.php?option=com_contact http://www.mon-site.com/contact-form.php



Soit ça redirige vers l'accueil - ce qui est un moindre mal - soit c'est considéré comme une url fausse, soit ça redirige vers la page 404.
Je viens de tester ce que ça donne depuis l'outil de test de redirection de "lannuaire-info" : c'est considéré comme url fausse ou redirection 302(!) ou erreur 404.

Voici les règles d'url-rewriting de mon .htaccess - juste au dessus. Est-ce qu'elles poseraient problème ?

RewriteEngine on

# URL rewriting rules
   # forcer les www
RewriteCond %{HTTP_HOST} ^mon-site\.com [NC]
RewriteRule (.*) http://www.mon-site.com/$1 [QSA,R=301,L]

RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2$3.jpg [QSA,L,E]
RewriteRule ^([0-9]+)\-([0-9]+)/([_a-zA-Z0-9-]*)\.jpg$ /img/p/$1-$2.jpg [QSA,L,E]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/([_a-zA-Z0-9-]*)\.jpg$ /img/c/$1$2.jpg [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$3&isolang;=$1$5 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2&isolang;=$1$4 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$2&isolang;=$1 [QSA,L,E]
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$2$4 [QSA,L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)\.html(.*)$ /product.php?id_product=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /category.php?id_category=$1 [QSA,L,E]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*)(.*)$ /cms.php?id_cms=$1 [QSA,L,E]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*)(.*)$ /supplier.php?id_supplier=$1$3 [QSA,L,E]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*)(.*)$ /manufacturer.php?id_manufacturer=$1$3 [QSA,L,E]
RewriteRule ^lang-([a-z]{2})/(.*)$ /$2?isolang=$1 [QSA,L,E]



Par ailleurs j'ai installé l'excellent module de tomer "duplicate url redirect" qui corrige le duplicate content en améliorant l'url des pages à paramètres (recherche etc...). Aurait-il une influence sur ce "?"


Pour finir, encore plus étrange, j'ai des adresses toutes simples
http://www.monsite.com/images/stories/image.jpg qui deviennent désormais
http://www.monsite.com/img/textes/image.jpg
Le nom de l'image ne change pas.

J'ai donc créé la redirection suivante :

RedirectPermanent /images/stories/ http://www.monsite.com/img/textes/



Et bien ça ne marche pas, ça me renvoie sur le nouveau site vers la page /img/404.gif

Avez-vous une idée pour résoudre ces 2 problèmes ?
Amicalement

Link to comment
Share on other sites

  • 1 month later...

Même problème. Je n'arrive pas à rediriger les adresses qui ont un ?. Notamment les fiches produits.

Je cherche la solution depuis un bon moment et je n'ai toujours rien trouvé.

Quelqu'un aurait-il une idée ?

Merci !

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...