Comment ne pas avoir l'ID après une redirection ?

WRInaute accro
Bonjour,

Avec une première redirection :
Code:
RewriteRule ^([^/]*)_([^_]*)\.html$  script.php?id=$2 [L]

et ensuite avec une seconde redirection :
Code:
RedirectPermanent /titre_10.html   https://site.fr/titre

Les 2 redirections fonctionnent mais conserve l'id

https://site.fr/titre?id=10

=====

Avec 1 seule redirection :

Code:
RewriteRule ^([^/]*)_10\.html$  titre [L]

idem, la redirection fonctionne mais l'id est toujours présent

https://site.fr/titre?id=10

Savez vous comment ne pas avoir l'id dans l'url après une redirection ?
 
WRInaute passionné
Ne pas utiliser de RedirectPermanent, uniquement RewriteRule, mais ça devrait marcher, peut-être votre essai a gardé en cache l'ancienne version avec RedirectPermanent.
 
WRInaute discret
RewriteEngine On

# 1. Redirection spécifique (à placer en haut)
# On ajoute le flag [R=301,L] pour une redirection permanente
# Le "?" à la fin de "titre?" supprime l'id=10 de l'URL finale
RewriteRule ^titre_10\.html$ https://site.fr/titre? [R=301,L]

# 2. Votre règle générique (en bas)
RewriteRule ^([^/])([^])\.html$ script.php?id=$2 [L]
 
WRInaute accro
Bien vu @voyante, le flag QSD est disponible dans les versions 2.4.0 et supérieures d'Apache, pas sur Nginx, et ce tag supprime la chaine de paramètres lorsque l'URI de la requête contient une chaine de paramètres et si l'URI cible n'en contient pas.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut