web-dev-qa-db-fra.com

Les redirections .htaccess 301 peuvent-elles fonctionner avec des caractères codés?

J'ai un ancien site avec des titres dans l'URL pour le référencement, mais il comporte des caractères encodés en URL plutôt que des caractères latins translittérés. Comme% 20 au lieu du caractère espace et de nombreux autres caractères non latins. Le site n'est pas en anglais.

Je déplace le site vers un nouveau CMS qui translittère les titres avant de les insérer dans la barre d’URL (ce qui est agréable et j’en suis ravi).

J'écris des redirections 301 dans mon . Htaccess et elles fonctionnent si tous les caractères du titre sont en latin (identiques dans les deux côtés).

Comment puis-je rediriger les anciennes URL encodées vers les nouvelles URL translittérées à l'aide de .htaccess?

3
user45881

Cela devrait fonctionner correctement à condition que l'URL soit entre guillemets.

Par exemple, si vous avez:

  • Ancienne URL: http://www.example.com/folder%20name/page%20name.html
  • Nouvelle URL: http://www.example.com/folder/page

Tu peux écrire:

Redirect 301 "/folder/page%20name.html" http://www.example.com/folder/page
1
richhallstoke