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

IIS部署站点根路径访问时jquery文件404错误排查求助

问题原因分析

访问站点根路径https://abc.xyz.com/emrsso时,浏览器地址栏未自动添加末尾斜杠/,此时浏览器会将emrsso识别为文件名而非目录,导致页面中相对路径Scripts/jquery-3.4.1.min.js被解析为根域名下的https://abc.xyz.com/Scripts/jquery-3.4.1.min.js,触发404错误。

而直接访问https://abc.xyz.com/emrsso/SSOLogin.aspx时,URL明确包含目录层级,相对路径会正确解析到emrsso目录下的Scripts文件夹;Visual Studio调试时,内置服务器会自动处理路径解析逻辑,因此不会出现该问题。

解决办法

方法1:使用ASP.NET根路径标记~(推荐)

修改ASPX页面中的jQuery引用,用~代表应用根目录,并添加runat="server"让ASP.NET自动解析为正确路径:

<script src="~/Scripts/jquery-3.4.1.min.js" runat="server" type="text/javascript"></script>

~会被ASP.NET解析为当前应用的虚拟路径/EMRSSO,最终生成的HTML会是正确的/EMRSSO/Scripts/jquery-3.4.1.min.js,无论访问路径是否带斜杠都能正常加载。

方法2:配置IIS自动添加末尾斜杠

通过IIS的URL重写模块添加规则,让不带斜杠的根路径自动重定向到带斜杠的路径:

  1. 打开IIS管理器,找到目标站点的EMRSSO应用
  2. 进入URL重写模块,点击添加规则
  3. 选择空白规则,配置如下:
    • 名称:添加末尾斜杠
    • 匹配URL:
      • 请求路径:Matches the Pattern
      • 模式:^emrsso$(根据实际虚拟路径调整)
      • 忽略大小写:勾选
    • 条件:
      • 输入:{REQUEST_FILENAME}
      • 匹配类型:Is Not a File
      • 逻辑分组:Match All
    • 操作:
      • 操作类型:Redirect
      • 重定向URL:{REQUEST_URI}/
      • 重定向类型:Permanent (301)
        配置完成后,访问https://abc.xyz.com/emrsso会自动跳转到https://abc.xyz.com/emrsso/,相对路径解析即可恢复正常。

方法3:使用绝对路径

直接在引用中写完整的虚拟路径:

<script src="/EMRSSO/Scripts/jquery-3.4.1.min.js" type="text/javascript"></script>

这种方式简单直接,但如果后续虚拟路径发生变更,需要手动修改所有相关引用,灵活性较差。


内容的提问来源于stack exchange,提问作者Sup Ravi Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:50:28