忽略這裏是我的mod_rewrite的巫術:圖像路徑不被mod_rewrite的規則
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L,QSA]
如果圖像路徑中都有非拉丁字符,這些字符不顯示。無論非拉丁字符是否在目錄名稱的圖像名稱中,都會發生這種情況。示例圖像URL:
http://example.com/Århus/some_image.jpg # broken image placeholder in browser
http://example.com/beer/øl.jpg # same
我已檢查並且標記中圖像的路徑是正確的。但mod_rewrite將這些圖像的請求重定向到index.php(Firebug的網絡小組證實了這一點)。因此,RewriteCond無法檢測到這是針對實際文件的。
我已將AddDefaultCharset UTF-8
添加到.htaccess文件中,但這沒有幫助。讓我感到困惑的是,在本地(在Windows上)使用XAMPP進行測試時,我沒有這個問題,但是我在我的服務器上執行(Dreamhost託管它)。我無法弄清楚兩者之間的區別是什麼或做什麼,所以我轉向你的集體智慧。
優秀的問題,和我應該想到的 - 杜!我不能,我得到了404。服務器試圖找到的URL是不同的: 'http:// example.com /Ãrhus/ some_image.jpg' 這是錯誤的Å(顯然),我已經當UTF8字符沒有正確解碼時,可以看到它。 雖然我不知道如何處理這些新信息。 – Rafael 2011-04-18 15:46:03
我在訪問日誌裏隱藏起來。我看到: '86.30.140.183 - - [18/Apr/2011:10:04:12 -0700]「GET /%C3%85rhus/some_image.jpg HTTP/1.1」404 516「http:// example。 com /%C3%85rhus/some_image.jpg「」Mozilla/5.0(Windows NT 6.0; rv:2.0)Gecko/20100101 Firefox/4.0「' – Rafael 2011-04-18 17:09:44