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

如何在Href中将斜杠/作为项目号的一部分,避免被识别为目录触发404错误

项目号含斜杠导致URL路由404的解决方案

问题本质是URL路径中的斜杠/默认会被Web服务器识别为路径层级分隔符,导致包含斜杠的项目号被拆分为多个路由参数,无法匹配预设的接口路由,可通过以下两种方案解决:

方案1:URL编码+路由通配符适配

  • 前端改造:拼接URL时对项目号做URL编码,将斜杠转义为%2F,避免被识别为路径分隔符,修改后的代码如下:
    output += ' | <a href="/Home/UpdateProject/' + encodeURIComponent(result[i].Project_Number) + '" class="label label-warning">Update</a> ';
    
  • 后端改造:调整路由配置,通过通配符捕获完整的项目号参数,以ASP.NET系列框架为例,可通过特性路由直接配置:
    [Route("Home/UpdateProject/{*projectNumber}")]
    public IActionResult UpdateProject(string projectNumber)
    {
        // 此处直接拿到解码后的原始项目号,正常处理业务逻辑即可
    }
    
    用全局路由配置的话,对应把参数段修改为{*projectNumber}即可。

方案2:改用查询参数传递项目号(改造成本更低)

不需要调整路由规则,直接把项目号放在查询参数中,查询参数里的斜杠不会被识别为路径分隔符,前端代码修改如下:

output += ' | <a href="/Home/UpdateProject?projectNumber=' + encodeURIComponent(result[i].Project_Number) + '" class="label label-warning">Update</a> ';

后端直接接收projectNumber查询参数即可,主流Web框架都会自动完成URL解码,直接返回原始带斜杠的项目号。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 11:51:02