Je veux savoir quel symbole je peux utiliser pour faire référence à n’importe quel caractère de la table d’encodage utf8 pour la réécriture nginx. J’ai essayé:
rewrite ^/.$ /new-location.html break;
mais il semble que le “.” ne peut représenter que des caractères ascii, lorsque j’ai essayé http://example.com/fr/ (un caractère chinois), cela n’a pas fonctionné.
Cela ne fonctionne pas non plus:
rewrite ^/([\x00-\xff])$ /new-location.html break;
De la documentation:
Cependant, le support UTF-8 et Unicode doit être explicitement activé; ce n’est pas la valeur par défaut. Les tables Unicode correspondent à la version 6.0.0 d’Unicode.
Donc, vous devez permettre à utf-8 de fonctionner:
"(*UTF8)^yourregex$"
L’instruction ci-dessus vous dit d’utiliser …
"(*UTF8)^yourregex$"
mais votre message d’erreur révèle que vous utilisez quelque chose de différent …
"^(*UTF8)/(.)$"
Je ne suis pas un expert, mais il semble qu’on vous ait conseillé de préfixer votre regex avec (* UTF8) mais au lieu de cela, vous l’insérez après le caractère d’ouverture de votre regex.