1

我有带有 mod_rewrite 的 Apache,每当我输入一个带有重音字符的 URI 时,Apache 都会给我一个“找不到页面”错误。

URI 是:/places/tags/Café

我的页面编码是 UTF-8。我的数据库连接和表是 UTF-8。我的 Apache DefaultCharacterSet = UTF-8。是的,Apache 有语言包,但我相信它们用于页面内容,而不是 URI。

我们不希望将 url 编码成百分号和 html 实体,在我们的 1 亿行数据中,去除特殊字符目前是不切实际的。

任何帮助将不胜感激。

4

1 回答 1

2

原来我有一个糟糕的 apache 重写规则。我一直在使用: ([a-zA-Z0-9_-] ) UTF-8 字符不是 a-zA-Z 的一部分。将规则更改为: (. ) 这表示任何字符(ASCII、UTF-8 或其他字符)。似乎工作正常。

于 2008-11-06T19:34:00.163 回答