[RESOLU] Problème de redirection

Nouveau WRInaute
Bonjour à tous,

Voilà, ça fait 2 bonnes heures que je me bat avec une réécriture d'URL et une redirection permanente et çà commence à énerver.

J'avais trouvé une solution sur le forum mais dans mon cas, elle ne fonctionne pas (https://www.webrankinfo.com/forum/t/resolu-probleme-de-htaccess-et-url-complexes.99165/#949061).

En fait, je veux une redirection 301 de /dSite.php?IdNav=9 vers la-pierre.9-fr.html
Voici le code que je met dans mon fichier de conf:

Code:
RedirectPermanent /dSite.php?IdNav=9 http://www.monsite.com/la-pierre.9-fr.html
RewriteEngine On
RewriteRule ^dSite\.php\?IdNav\=9$ /la-pierre.9-fr.html [L,R=301]

Et aucune des 2 méthodes ne fonctionnent.

Si quelqu'un pouvait m'aider.

Merci d'avance.
 
WRInaute impliqué
Aucune des deux méthodes ne prend en compte ce qui suit le ?

Pour cela il faut utiliser une règle de réécriture et une condition supplémentaire:

Code:
RewriteEngine On

RewriteCond %{QUERY_STRING} ^IdNav=(.*)$
RewriteRule ^dSite\.php$ /la-pierre.%1-fr.html [L,R=301]

Le %1 récupère ce qu'il y a a droite de ?IdNav=
 
Nouveau WRInaute
Merci beaucoup pour cette réponse rapide.

Cela fonctionne bien mais à la fin de ma redirection, je retrouve dans l'url '?IdNav=9'

Code:
la-pierre.9-fr.html?IdNav=9

Est-ce possible de retirer ce paramètre? Peut-être avec une autre réecriture?

Merci d'avance.
 
WRInaute impliqué
jimbob62 a dit:
Merci beaucoup pour cette réponse rapide.

Cela fonctionne bien mais à la fin de ma redirection, je retrouve dans l'url '?IdNav=9'

Code:
la-pierre.9-fr.html?IdNav=9

Est-ce possible de retirer ce paramètre? Peut-être avec une autre réecriture?

Merci d'avance.
Etrange en effet, tu es sur qu'il n'y a pas un QSA qui traine ?
 
WRInaute impliqué
Pour retirer les parametres il ne faut pas mettre QSA. ON peut aussi ajouter un ? sans rien derrière:

Code:
RewriteEngine On

RewriteCond %{QUERY_STRING} ^IdNav=(.*)$
RewriteRule ^dSite\.php$ /la-pierre.%1-fr.html? [L,R=301]
 
Discussions similaires
Haut