小编pat*_*dge的帖子

IIS6 与 IIS7 和 IIS7.5:在 base 中处理带有加号 (+) 的 URL(不是查询字符串)

对于基本 URL(不是查询字符串)中带有加号 (+) 的任何 URL,IIS7 和 IIS7.5(Windows Server 2008 和 2008 R2)似乎不会将 URL 转发到 ASP.NET 应用程序上的默认处理程序. 我开始注意到自定义 HTTP 处理程序的问题,*.html但我对*.aspx. IIS6 (Server 2003) 对这些相同的 URL 没有问题。

为了重现这个问题,在一个 ASP.NET 站点中,我创建了一组 ASPX 文件,这些文件使用各种名称执行简单的 Response.Write:

  1. test_something.aspx
  2. test_some+thing.aspx
  3. test_something.aspx

第三个文件是一个测试,看看 IIS7[.5] 是否将加号视为空格(就像在查询字符串中那样);情况似乎并非如此。有了所有这些文件,在进入任何 ASP.NET 处理程序之前,在 IIS6 中命中http://somehost/test_some+thing.aspxhttp://somehost/test_some%2bthing.aspx将正常工作,但在 IIS7/IIS7.5 中命中404。在 IIS7/7.5 中是否有一些配置我缺少它来“看到”URL 中的加号而不会丢失用于确定 HTTP 处理程序的最终扩展名?

iis-7 iis-7.5

41
推荐指数
2
解决办法
3万
查看次数

标签 统计

iis-7 ×1

iis-7.5 ×1