Pregunta

Tengo Apache con mod_rewrite, y cada vez que ingreso un URI con un carácter acentuado, Apache me da una " Página no encontrada " error.

El URI es: / places / tags / Café

La codificación de mi página es UTF-8. Mi conexión de base de datos & amp; Las tablas son UTF-8. My Apache DefaultCharacterSet = UTF-8. Sí, Apache tiene paquetes de idiomas, pero creo que están ahí para el contenido de la página, no para los URI.

Preferiríamos no tener la URL codificada en signos de porcentaje y entidades html, y eliminar los caracteres especiales no es práctico en este momento, en nuestros 100 millones de filas de datos.

Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

Resulta que tenía una mala regla de reescritura de apache. Había estado usando: ([a-zA-Z0-9_-] ) Los caracteres UTF-8 no son parte de a-zA-Z. Cambie la regla para que sea: (. ) Eso significa cualquier carácter (ASCII, UTF-8 u otro). Parece funcionar bien.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top