UTF-8 URI explode Apache e mod_rewrite
-
06-07-2019 - |
Pergunta
Eu tenho Apache com mod_rewrite, e sempre que eu entrar em um URI com um caractere acentuado nele, Apache me dá um erro "página não encontrada".
O URI é: lugares / / tags / Café
A página do meu codificação é UTF-8. Minha conexão de banco de dados e tabelas são UTF-8. Meu Apache DefaultCharacterSet = UTF-8. Sim, Apache tem pacotes de idiomas, mas acredito que eles estão lá para o conteúdo da página, não URIs.
Nós preferimos não ter a url codificado em sinais de porcentagem e html entidades, e que eliminasse os caracteres especiais não é prático no momento, em nossos 100 milhões de linhas de dados.
Qualquer ajuda seria muito apreciada.
Solução
Acontece que eu tinha uma regra apache reescrever ruim. Eu tinha vindo a utilizar: ([a-zA-Z0-9 _-] ) caracteres UTF-8 não fazem parte de um-zA-Z. Alterar a regra a ser: (. ) Isso significa que quaisquer caracteres (ASCII, UTF-8, ou othewise). Parece funcionar bem.