從一個伺服器移動到另一個伺服器後,一些西里爾文檔案名稱被破壞

從一個伺服器移動到另一個伺服器後,一些西里爾文檔案名稱被破壞

我將網站從一台伺服器移至另一台伺服器,並遇到了西里爾文檔案名稱問題。 WordPress 中的一些西里爾字母 URL 很好,但有些現在已經損壞了。在之前的伺服器上是沒問題的。

它看起來像這樣:在 WordPress 圖像庫中,我看到一個圖像已損壞,其 URL:/wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg (URL 編碼版本/wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg:)

我導航到此 URL 並看到 404 錯誤。

然後我轉到 FTP,從那裡複製檔案名稱 ( олимпийские-новогодние-шары.jpg) 並導航到 URL/wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg

(URL 編碼版本/wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg:)

現在可以了!

再次:

  • олимпийские-новогодние-шары.jpg- 破碎的
  • олимпийские-новогодние-шары.jpg- 有效。

看起來完全一樣。複製並貼上上面的網址進行檢查!

如果我使用工作文件名(從 FTP 或 SSH 複製)的 URL 並從鍵盤逐個字母替換西里爾文文件名,則一切正常(200 OK),直到我將й(從 FTP 複製)更改為й- 從鍵盤輸入/從WordPress 複製。

這絕對讓我大吃一驚!外觀相同的字母在一種情況下有效,但在另一種情況下無效。為什麼而й不是另一個西里爾字母,例如шor д?從鍵盤替換這些字母(從 FTP 複製的檔案名稱中)不會產生 404 錯誤。

如果我們仔細觀察,URL 編碼的版本並不完全相同:

%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%...
%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%...

但我為什麼以及如何影響它呢?

相關內容