Question

J'ai Apache avec mod_rewrite et chaque fois que j'entre un URI avec un caractère accentué, Apache me donne un "page introuvable". erreur.

L'URI est: / places / tags / Caf & # 233;

Le codage de ma page est UTF-8. Ma connexion à la base de données & amp; les tables sont en UTF-8. Mon Apache DefaultCharacterSet = UTF-8. Oui, Apache a des packs de langues, mais je crois qu’ils sont là pour le contenu de la page, pas pour les URI.

Nous préférerions ne pas avoir l’URL encodée dans les signes de pourcentage et les entités html, et supprimer les caractères spéciaux n’est pas pratique pour le moment, sur nos 100 millions de lignes de données.

Toute aide serait grandement appréciée.

Était-ce utile?

La solution

Il s’est avéré que j’avais une mauvaise règle de réécriture apache. J'avais utilisé: ([a-zA-Z0-9 _-] ) Les caractères UTF-8 ne font pas partie de a-zA-Z. Modifiez la règle comme suit: (. ) Cela signifie que tous les caractères (ASCII, UTF-8 ou autres). Semble bien fonctionner.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top