尝试提供包含非英文字符的静态文件时出现 404

404 when trying to serve static files with non-english characters

我有 Windows 带有 IIS 7.5 的 2008 R2 服务器。
我正在尝试使用非英语(希伯来语)名称提供静态文件,但无法正常工作。

我有 4 个文件:

当我尝试转到 http://.../a.jpghttp://.../b.txt 时,我得到了正确的文件。
但是当我尝试访问 http://.../א.jpghttp://.../ב.txt 时,它不起作用。
即使我在转到 url 之前对文件名进行编码,即 http://../%D7%90.jpg 它也不会起作用。

我收到一个常规的 404 服务器错误:

404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.

我尝试了以下方法,但没有帮助:

1.adding 全球化设置为 web.config

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

2.adding .jpg.txt 到 IIS 中的 MIME Types 设置。

我在这里错过了什么?

我找到了解决这个问题的方法。
一切都是关于 UrlScan IIS extension...

我所要做的就是:

  1. 转到 windir%\system32\inetsrv [32 位] 和 %windir%\syswow64\inetsrv [64 位]
  2. 中的 UrlScan 文件夹
  3. 打开UrlScan.ini并将AllowHighBitCharacters更改为1