Requête de sous-domaine de redirection .htaccess 301

J’ai besoin de 301 redirect ceci:

/blog/?=31 

à

 /blog/ 

et

 /blog/?page_id=2 

à

 /blog/ 

J’ai essayé les choses évidentes:

 Redirect 301 /blog/?p=31 /blog/ Redirect 301 /blog/?page_id=2 /blog/ 

Et évidemment cela n’a pas marché sinon je ne poserais pas cette question ici, alors ne dites pas l’évidence!

Redirect directive de Redirect est fournie par mod_alias . Je ne suis pas sûr, mais je pense qu’il ne reçoit pas le paramètre de chaîne de requête. En utilisant mod_rewrite cependant, les règles seraient:

 RewriteEngine On RewriteCond %{QUERY_STRING} ^p=31|page_id=2$ RewriteRule ^/?blog/?$ /blog/? [R=301,L] 

Afin de gérer les redirections impliquant Query Ssortingngs , vous devrez utiliser un mod_rewrite RewriteCond %{QUERY_STRING} dans votre fichier .htaccess :

 RewriteEngine on RewriteCond %{QUERY_STRING} !^$ RewriteRule ^blog http://example.com/blog? [NC,L,R=301]