web-dev-qa-db-fra.com

Comment puis-je rediriger l'ancienne WordPress URL (avec une chaîne de requête) vers une nouvelle URL à l'aide de .htaccess?

J'ai transféré mon WordPress site sur un site Web HTML statique, mais certains autres sites Web ont un lien vers mon ancien WordPress site mysite.com/?page_id=1103.

Je souhaite rediriger tout le trafic vers la nouvelle URL, qui est mysite.com/mypage.html, mais ma redirection dans le fichier . Htaccess ne fonctionne pas. Peut-être que quelqu'un peut m'aider avec la ligne de code dans le fichier . Htaccess. J'ai essayé de suivre mais ça n'a pas marché:

Redirect 301 /?page_id=1103 http://mysite.com/mypage.html
4
user2161017

Voici n article qui répond à votre question :

Malheureusement, ni Redirect ni RedirectMatch ne vous permettent de spécifier une chaîne de requête pour la source de redirection. En d'autres termes, les déclarations suivantes ne sont pas valides et elles seront simplement ignorées.

Redirect /page.php?id=3  http://mydomain.site/page/3
Redirect /page.php?id=4  http://mydomain.site/page/4

RedirectMatch ^/page.php?id=([0-9]*)$  http://mydomain.site/page/$1

La solution nécessite de changer le focus de mod_alias à mod_rewrite. Voici un exemple.

RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/page\.php$
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ http://mydomain.site/page/%1.pdf [R=302,L]

Donc, dans votre cas, le code devrait être:

RewriteEngine On
RewriteCond %{REQUEST_URI}  ^/$
RewriteCond %{QUERY_STRING} ^page_id=1103$
RewriteRule .* http://mydomain.site/mypage.html [R=301,L]
3