Frage

Ich habe Apache mit mod_rewrite, und wenn ich in eine URI mit einem akzentuierten Zeichen eingeben, Apache gibt mir ein „Seite nicht gefunden“ -Fehler.

Die URI ist: / places / tags / Café

Meine Seite Kodierung ist UTF-8. Meine Datenbankverbindung & Tabellen sind UTF-8. Mein Apache DefaultCharacterSet = UTF-8. Ja, hat Apache Sprachpakete, aber ich glaube, sie sind da für Seiteninhalt, nicht URIs.

Wir würden es vorziehen, nicht die URL haben kodiert in Prozentzeichen und HTML-Entities, und die Sonderzeichen Strippen ist im Moment nicht praktikabel ist, auf unsere 100 Millionen Datenzeilen.

Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

Es stellte sich heraus, dass ich hatte eine schlechte Apache Rewrite-Regel. Ich hatte mit: ([a-zA-Z0-9 _-] ) UTF-8-Zeichen sind nicht Teil der a-zA-Z. Ändern Sie die Regel sein: (. ) Das bedeutet, dass alle Zeichen (ASCII, UTF-8, oder othewise). Scheint zu funktionieren gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top