Хорошо, я решил проблему, исправив имена файлов скриптом . Я думаю, что кодирование специальных символов было нарушено в какой-то момент, когда я копировал файлы между системами (Gentoo => Mac OS X => Debian). Не стесняйтесь использовать и редактировать мой скрипт, если у вас есть похожая проблема.
Специальные символы в именах файлов + nginx + php = 404
Недавно я переехал на новый сервер после того, как старый умер. У меня там была установка WordPress, работающая на Apache2 и Gentoo Linux. При переезде я решил использовать nginx и Debian . Я вернул свой WordPress на работу, и все было бы хорошо, если бы не один маленький ...
проблема
Изображения, которые содержат специальные символы в именах файлов, не загружаются, я получаю 404 Not Found . Например, при запросе
http://my_site/wp-content/uploads/2013/05/Zajęcia-dla-dorosłych-z-bollywood-dance.jpg
WordPress отвечает
You tried going to http://my_site/wp-content/uploads/2013/05/Zaj%C4%99cia-dla-doros%C5%82ych-z-bollywood-dance.jpg, and it doesn't exist.
Я немного поиграл с терминалом и обнаружил, что имена файлов изображений на сервере немного отличаются от тех, которые запрашивает WordPress. Несмотря на то, что они выглядят одинаково, специальные последовательности символов кодируются по-разному. Например, когда я копирую имя файла Zajęcia-dla-dorosłych-z-bollywood-dance.jpg
из терминала, оно кодируется как Zajęcia-dla-dorosłych-z-bollywood-dance.jpg
. С другой стороны, WordPress ищет файл, Zajęcia-dla-dorosłych-z-bollywood-dance.jpg
который, конечно, не существует.
Обе системы (старый Gentoo и текущий Debian) настроены на использование языкового стандарта на основе UTF-8.
Как решить?
Я думаю о трех возможных причинах:
- Debian хранит специальные символы в именах файлов иначе, чем Gentoo
- мой новый mysql хранит специальные символы не так, как старый
- nginx обрабатывает специальные символы иначе, чем Apache
Любые предложения, как опровергнуть эту гипотезу и, наконец, решить проблему?
1 ответ на вопрос
Похожие вопросы
-
2
Как мне заставить мой микрофон работать под Debian GNOME?
-
6
Полноэкранная медленная вспышка в KDE 4
-
3
Пакеты в странном состоянии
-
-
8
Найти, к какому пакету принадлежит файл в Ubuntu / Debian?
-
2
Как настроить автоматический вход в систему в Debian (lenny)?
-
1
Amaroks перестает играть после одной песни
-
3
Amarok отказывается проигрывать файлы * .ogg
-
2
Kopete для работы с GTalk
-
2
Ссылка на аудио-файлы AAC возвращает 404
-
4
Замена Sendmail на домашнем компьютере с Debian