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

URI是:/ places / tags / Café

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

我们不希望将url编码为百分号和html实体,并且在我们的1亿行数据上剥离特殊字符目前不实用。

非常感谢任何帮助。

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top