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

为何Safari登录时REQUEST_URI返回不存在的login.css.map文件?

问题分析与解决方案

核心原因

  1. Safari自动请求CSS源映射:Safari默认启用了CSS Source Maps功能,只要页面里出现对login.css的引用(哪怕这个文件实际不存在),浏览器就会自动发起对login.css.map的请求。
  2. 路由未拦截静态资源请求:你的MVC框架入口(index.php)可能接收了所有HTTP请求,包括这类静态资源的请求,导致登录控制器被触发时,把这个/assets/styles/login.css.map的URI存进了会话。
  3. 请求时序覆盖:Safari加载页面时,可能先发起了这个map文件的请求,刚好在用户登录操作之前触发了会话URI的存储,覆盖了原本的首页路径。

解决步骤

  • 检查页面CSS引用:搜索前端代码里有没有<link rel="stylesheet" href="/assets/styles/login.css">这类无效引用,删掉或者修正路径。
  • 优化路由规则:在MVC调度器里添加规则,优先处理静态资源后缀的请求(比如.css、.js、.map、.png等),直接返回404或者跳过登录控制器的会话存储逻辑,避免静态请求干扰登录流程。
  • 调整会话存储逻辑:不要在所有请求都存储REQUEST_URI,只在用户访问需要登录的页面且未登录时才记录,比如先判断当前请求不是静态资源,且用户未登录,再执行URI存储操作。
  • 临时排查验证:打开Safari开发者工具,关闭「Enable CSS Source Maps」选项,测试登录流程是否恢复正常,确认问题根源是源映射自动请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:12:07