尝试提供包含非英文字符的静态文件时出现 404
404 when trying to serve static files with non-english characters
我有 Windows 带有 IIS 7.5 的 2008 R2 服务器。
我正在尝试使用非英语(希伯来语)名称提供静态文件,但无法正常工作。
我有 4 个文件:
- a.jpg
- א.jpg
- b.txt
- ב.txt
当我尝试转到 http://.../a.jpg
和 http://.../b.txt
时,我得到了正确的文件。
但是当我尝试访问 http://.../א.jpg
或 http://.../ב.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
...
我所要做的就是:
- 转到
windir%\system32\inetsrv
[32 位] 和 %windir%\syswow64\inetsrv
[64 位] 中的 UrlScan 文件夹
- 打开UrlScan.ini并将
AllowHighBitCharacters
更改为1
我有 Windows 带有 IIS 7.5 的 2008 R2 服务器。
我正在尝试使用非英语(希伯来语)名称提供静态文件,但无法正常工作。
我有 4 个文件:
- a.jpg
- א.jpg
- b.txt
- ב.txt
当我尝试转到 http://.../a.jpg
和 http://.../b.txt
时,我得到了正确的文件。
但是当我尝试访问 http://.../א.jpg
或 http://.../ב.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
...
我所要做的就是:
- 转到
windir%\system32\inetsrv
[32 位] 和%windir%\syswow64\inetsrv
[64 位] 中的 UrlScan 文件夹
- 打开UrlScan.ini并将
AllowHighBitCharacters
更改为1