web-dev-qa-db-fra.com

Comment regrouper des URL et remplacer un segment de chemin?

J'ai plusieurs URL dans un site Web WordPress que je souhaite réécrire, puis effectuer une redirection 301.

Les URL sont de la forme

www.example.com/prodotto/something-after

Ces URL doivent être remplacées par

www.example.com/shop/something-after

Devrais-je utiliser les règles de réécriture d'URL dans .htaccess? J'ai utilisé cette règle, mais ça ne marche pas:

# 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 ^/?prodotto/(.*)$ http://www.example.com/shop/$1 [R=301,L]
</IfModule>
# END WordPress'
5
bobrock4

Vous pouvez utiliser module Apache mod_rewrite :

RewriteEngine ON
RewriteRule ^/?stringtochange/(.*)$ http://www.domainname.com/newstring/$1 [R=301,L]

La chaîne après stringtochange est transmise à l'autre url contenant newstring dans la variable $1.

Ainsi, par exemple, si vous accédez à www.example.com/stringtochange/cool-page.html, il sera redirigé vers www.example.com/newstring/cool-page.html.

1
marcanuy