You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置IIS 6.2处理Ajax请求?新服务器ASHX接口404排查

解决IIS 6.2中ASHX虚拟路径404问题

针对你遇到的/ajax/虚拟路径下ASHX请求404问题,可按以下步骤排查和解决:

  • 安装并配置URL重写模块
    /ajax/并非真实目录,生产服务器大概率通过URL重写规则将这类虚拟路径请求转发到实际的ASHX处理逻辑。新服务器需确认:

    1. IIS是否安装了URL重写模块(在IIS管理器功能视图中查看是否有“URL Rewrite”选项),未安装则通过Web平台安装器或Windows功能添加。
    2. 导出生产服务器站点的URL重写规则,导入到新服务器对应站点中。
  • 验证ASP.NET环境匹配
    确保新服务器的ASP.NET配置与生产服务器一致:

    1. 检查站点对应的应用池,确认.NET CLR版本(如v4.0)与生产环境相同。
    2. 在服务器管理器的“添加角色和功能”中,确认已启用对应版本的ASP.NET功能(如.NET Framework 4.8下的ASP.NET)。
  • 配置通配符脚本映射
    由于请求路径指向虚拟目录,需让IIS将所有请求交由ASP.NET处理:
    在站点的“处理程序映射”中,点击右侧“添加通配符脚本映射”,可执行文件选择对应.NET版本的aspnet_isapi.dll(例:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll),命名为“ASP.NET Wildcard Mapping”,并取消勾选“验证文件是否存在”。

  • 调整请求筛选规则
    你的ASHX路径包含逗号(MyAssembly.OrderInformationService,MyWeb.ashx),IIS默认可能拦截这类特殊字符:

    1. 在站点的“请求筛选”中,检查“URL”标签是否有阻止含逗号路径的规则,或“HTTP动词”标签是否允许Ajax常用的GET/POST动词。
    2. 也可在应用的web.config中添加配置允许特殊字符:
      <system.webServer>
        <security>
          <requestFiltering allowDoubleEscaping="true" />
        </security>
      </system.webServer>
      
  • 启用IIS核心模块
    确认Web服务器(IIS)的核心功能已启用:
    在服务器管理器中,确保“应用程序开发”分类下的ASP.NET、ISAPI扩展、ISAPI筛选器均已勾选启用。

内容的提问来源于stack exchange,提问作者Zoop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:01:17