404 при попытке обслужить статические файлы с неанглийскими символами - PullRequest
0 голосов
/ 28 июня 2018

У меня Windows 2008 R2 Server с IIS 7.5.
Я пытаюсь обслуживать статические файлы с неанглийскими (ивритскими) именами, но не могу заставить их работать.

У меня есть 4 файла:

  • a.jpg
  • א. JPG
  • b.txt
  • ב. TXT

Когда я пытаюсь перейти к http://.../a.jpg и http://.../b.txt, я получаю нужные файлы.
Но когда я пытаюсь получить доступ к http://.../א.jpg или http://.../ב.txt, это не сработает.
Даже если я закодирую имена файлов перед переходом по URL, т.е. http://../%D7%90.jpg, это не сработает.

Я получаю обычную ошибку сервера 404:

404 - Файл или каталог не найдены.
Возможно, ресурс, который вы ищете, был удален, изменилось его имя или временно недоступен.

Я попробовал следующее, но это не помогло:

1.Добавить настройки глобализации в web.config:

<configuration>
      <system.web>
        <globalization
          fileEncoding="utf-8" 
          requestEncoding="utf-8" 
          responseEncoding="utf-8"
        />
      </system.web>
</configuration>

2.добавление .jpg и .txt до MIME Types настроек в IIS.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 28 июня 2018

Я нашел решение этой проблемы.
Это было все о UrlScan IIS extension ...

Все, что мне нужно было сделать, это:

  1. Перейдите в папку UrlScan внутри windir%\system32\inetsrv [32 бита] и %windir%\syswow64\inetsrv [64 бита]
  2. Откройте UrlScan.ini и измените AllowHighBitCharacters на 1
...