2008-11-06 45 views
0

我有mod_rewrite的Apache,並且每當我輸入帶有重音字符的URI時,Apache都會給我一個「Page Not Found」錯誤。UTF-8 URI爆炸Apache&mod_rewrite

URI是:/地區/標籤/咖啡廳

我的頁面編碼爲UTF-8。我的數據庫連接&表是UTF-8。我的Apache DefaultCharacterSet = UTF-8。是的,Apache有語言包,但我相信他們在那裏是爲了頁面內容,而不是URI。

我們不希望將網址編碼爲百分號和html實體,並且在我們的1億行數據上刪除特殊字符並不現實。

任何幫助將不勝感激。

+0

什麼版本的Apache?什麼OS? Apache的訪問日誌裏有什麼? – 2008-11-06 19:27:30

回答

2

原來我有一個糟糕的apache重寫規則。 我一直在使用:([a-zA-Z0-9_-] ) UTF-8字符不是a-zA-Z的一部分。 更改規則爲:(。) 這意味着任何字符(ASCII,UTF-8或其他)。 顯示工作正常。

+0

嗨,我正面臨確切的問題,你可以在這裏發佈的代碼。 – eben 2010-10-29 17:55:09