Пути к изображениям с нелатинскими символами в них не игнорируются правилом mod_rewrite - PullRequest
1 голос
/ 18 апреля 2011

Вот мой мод_рурит вуду:

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, но это не помогает. Меня беспокоит то, что у меня нет этой проблемы при локальном тестировании с XAMPP (в Windows), но я делаю это на своем сервере (Dreamhost размещает его). Я не могу понять, в чем разница между ними или что еще делать, поэтому я обращаюсь к вашей коллективной мудрости.

1 Ответ

0 голосов
/ 18 апреля 2011

На основании комментариев я бы предложил:

  1. Попробуйте проверить, настроен ли хост с UTF-8 (сама система)
  2. Убедитесь, что файлы apache закодированы в UTF-8
  3. Установлена ​​ли Charset по умолчанию в файле глобальной конфигурации? Может быть, это может изменить поведение.

Держите меня в курсе того, что вы найдете.

...