web-dev-qa-db-fra.com

Rediriger toutes les pages du sous-répertoire vers une nouvelle page

Après avoir refait ma boutique en ligne, je dois rediriger toutes les URL d’un certain directoy vers une nouvelle page.

Toutes les URL commençant par example.com/shop/... doivent être redirigées vers la page située à l'emplacement example.com/products/.

J'utilise this wordpress plugin pour les redirections, mais je ne sais pas s'il peut le gérer ou si j'ai besoin de modifier le fichier htaccess ou quelque chose du genre.

.htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^shop/ /products/ [R=302,L]
</IfModule>

# END WordPress
3
Jeppe Bech

Ce plugin WordPress devrait être capable de gérer cela, mais sinon, il s'agit simplement d'un one-liner dans .htaccess (qui sera également plus efficace):

RewriteRule ^shop/ /products/ [R=302,L]

La directive ci-dessus devrait aller après les directives RewriteEngine et RewriteBase mais avant tout autre WordPress.

Ceci redirige /shop/<anything> vers /products/.

Modifiez la redirection 302 (temporaire) en 301 (permanent) lorsque vous êtes sûr que tout fonctionne correctement. Les redirections temporaires sont plus faciles à tester car elles ne sont pas mises en cache par le navigateur.

2
MrWhite