redirection 301 - Supprimer la chaîne de requête (QSA)
J'ai eu du mal avec certains htaccess redirige. J'ai juste passé un peu de temps à la lecture et à la recherche sur la pile et ne pouvait pas obtenir une réponse qui fonctionne avec mon scénario.
Je suis en train de faire de la redirection 301 pour un vieux client, site de un nouveau. Les anciennes pages des paramètres de requête qui je veux supprimer à partir de l'url.
/menu.php?idCategorie=29&idDetail=172
à
/new-website-page/
J'ai plusieurs requêtes à faire, voici quelques exemple:
/menu.php?idCategorie=29&idDetail=172
/menu.php?idCategorie=29&idDetail=182
/menu.php?idCategorie=29&idDetail=184
/menu.php?idCategorie=29&idDetail=256
Qui tous les liens vers les différentes nouvelles pages.
Voici ce que j'ai essayé:
RewriteCond %{QUERY_STRING} idDetail=172
RewriteRule ^menu.php(.*) /new-page/? [R=301,L]
Je obtenir redirigé correctement, mais l'URL maintient la chaîne de requête:
http://website.com/new-page/?idCategorie=29&idDetail=172
J'ai aussi essayé ceci:
RewriteRule ^menu.php?idCategorie=29&idDetail=172$ http://website.com/new-page/? [L,R=301]
Et ce:
RewriteCond %{QUERY_STRING} idDetail=172(.*)$
RewriteRule ^menu.php /new-page-name?$1 [L,R=301]
Et ça ne fonctionne pas (Encore la chaîne de requête à la fin)
Merci!
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser cette règle:
Prendre note de fuite
?
dans la fin qui est utilisé pour le dépouiller de toute chaîne de requête dans l'URI originale.Redirect 301 /old-path http:newdomaindomain.com/new-path
syntaxe?Redirect
ne prend pas en charge la suppression de la chaîne de requêteEn plus de anubhava de réponse, vous pouvez également utiliser le QSD drapeau de Apache 2.4.0
http://httpd.apache.org/docs/current/en/rewrite/flags.html#flag_qsd