我有一个带有mod_rewrite的Apache,每当我输入带有重音字符的URI时,Apache就会给我一个“找不到页面”的错误。
URI为:/ places / tags/Café
我的页面编码是UTF-8。我的数据库连接&表格是UTF-8。我的Apache DefaultCharacterSet = UTF-8。是的,Apache有语言包,但我相信它们用于页面内容,而不是URI。
我们不希望将url编码为百分号和html实体,并且在我们的1亿行数据上剥离特殊字符目前不实用。
非常感谢任何帮助。
答案 0 :(得分:2)
原来我的apache重写规则很糟糕。 我一直在使用:([a-zA-Z0-9 _-] ) UTF-8字符不是a-zA-Z的一部分。 将规则更改为:(。) 这意味着任何字符(ASCII,UTF-8或其他)。 似乎工作正常。