我的问题是,有一个服务器上的网站: – Windows服务器2008 – IIS 7.5
并有一些图像文件的文件夹。
文件夹和文件名是这样的:
www.somedomain.com/images/picture+pro/myimage.gif
也
www.somedomain.com/images/picture/myimage+pro.gif
有同样的问题。
问题在于; 特殊字符“+”无法在Windows Server 2008上使用IIS 7.5读取,但在Windows 7计算机上使用Visual Studio 2010在本地开发时读取了特殊字符“+”。
是否有一些configuration,我可以在Windows 2008或IIS 7.5允许读取包含“+”字符的文件夹和/或文件?
非常感谢你
有趣的是,今天我使用IIS ARR来反转代理运行在Windows上的TomCat应用程序,在其URL中使用+
字符时,就会发生这样的事情。
尝试在网站上允许allowDoubleEscaping
。 如果您具有IIS MMC访问权限,则可以在请求筛选小程序中进行配置:
如果不是,您的主机许可证可以在您的网站的web.config
文件中设置:
<configuration> <system.webserver> <security> <requestFiltering allowDoubleEscaping="true"> </requestFiltering> </security> </system.webserver> </configuration>
应该工作,如果你得到:
HTTP错误404.11 – 未找到
请求过滤模块被配置为拒绝包含双转义序列的请求。
不幸的是,我无法在服务器上解决这个问题,而是改变了相关数据库中的参考名称,删除了“+”字符。
因此,我认为即使“+”字符在本地计算机上使用Visual Studio的虚拟IIS服务器,也并不意味着它能在Windows服务器上运行。
我想感谢ta.speot.is的努力。