web-dev-qa-db-fra.com

Comment réparer les codes d'erreur HTTP 400-499 avec les redirections 301 dans le fichier .htaccess

Ce problème est sur le site WordPress.

Je suis conscient que nous pouvons modifier la convention de dénomination d'URL dans WP, mais j'ai changé mon format d'URL du format de date à un simple nom de poste suivi d'un slug, comme indiqué ci-dessous.

Style ancien:

www.example.com/2013/02/09/rin​gdroid

Nouveau style:

www.example.com/rin​gdroid

Google avait précédemment indexé les pages de mes sites Web (sitemap.xml) au format ci-dessous:

www.example.com/2013/04/18/hot​test-gadgets-of-2013-to-include-in-​your-list
www.example.com/2013/02/09/rin​gdroid

J'ai de nouveau soumis le plan du site, mais il reste encore 404 erreurs dans le moteur Google/Bing.

Pourriez-vous s'il vous plaît m'aider à écrire la règle de redirection 301 dans le fichier . Htaccess quand quelqu'un clique sur l'URL pour:

www.example.com/2013/02/09/rin​gdroid

Ils devraient être redirigés vers:

www.example.com/rin​gdroid

Comment pouvons-nous écrire une règle dans le fichier . Htaccess pour supprimer le composant Date (Date) 2013/02/09/?

J'ai essayé quelque chose comme ça (googlé), mais ça n'a pas marché:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
1
user2131844
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$4 [R=301,NC,L]
2
user2131844
RewriteEngine On
RewriteRule ^(\d+/){3}(.*)$ /$2 [R=301]

Cela supprimera toute séquence de 3 chiffres suivis par des barres obliques (donc cela fonctionnera avec des dates d'année courtes comme les dates AA/MM/JJ ou des jours/mois à un chiffre comme 2013/2/9. Si vous voulez conserver la date dans le url et le rediriger en silence vers la page correcte sans que l'utilisateur le sache, perd le [R=301]

1
WebChemist