Domanda

Ho Apache con mod_rewrite e ogni volta che entro in un URI con un carattere accentato, Apache mi dà una "Pagina non trovata" di errore.

L'URI è: / places / tags / Café

La codifica della mia pagina è UTF-8. La mia connessione al database e amp; le tabelle sono UTF-8. My Apache DefaultCharacterSet = UTF-8. Sì, Apache ha i language pack, ma credo che siano lì per il contenuto della pagina, non per gli URI.

Preferiremmo non codificare l'URL in segni di percentuale ed entità html e rimuovere i caratteri speciali non è pratico al momento, sui nostri 100 milioni di righe di dati.

Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

Si è scoperto che avevo una brutta regola di riscrittura di Apache. Stavo usando: ([a-zA-Z0-9_-] ) I caratteri UTF-8 non fanno parte di a-zA-Z. Modifica la regola in: (. ) Ciò significa che qualsiasi carattere (ASCII, UTF-8 o altrimenti). Sembra funzionare bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top