HTML 中相对路径的 src 属性导致请求地址错误的解决方案
技术百科
霞舞
发布时间:2026-01-28
浏览: 次 当 html 元素(如 `
在你的 React + Django 项目中,访问 http://localhost/index 时,浏览器将当前页面路径解析为 /index(注意:无尾部斜杠),此时
http://localhost/index/asset/script.js
而非你期望的根路径下的:
http://localhost/asset/script.js
这是因为浏览器遵循 URL 解析规范:相对 URL 的解析依赖于当前文档的 base URL。而默认 base URL 就是当前页面完整 URL(即 http://localhost/index),其路径为 /index,因此相对路径 asset/script.js 被解析为 /index/asset/script.js。
✅ 正确做法是使用绝对路径(从根开始):
在 index.html 中将:
改为:
立即学习“前端免费学习笔记(深入)”;
开头的 / 表示“相对于网站根目录”,无论用户访问的是 /、/index、/user/profile 还是 /admin/,该资源始终从 http://localhost/asset/script.js 加载。
? 另一种灵活方案:使用
在
这会将整个文档的 base URL 设为网站根路径,此后所有相对路径(包

⚠️ 注意事项:
- Django 静态文件服务需确保 /asset/ 路径可被正确路由或通过 STATIC_URL = '/asset/' 配置,并在开发环境启用 django.contrib.staticfiles;
- 若部署到子路径(如 https://example.com/myapp/),应将 base URL 设为 /myapp/,并统一使用 /myapp/asset/script.js 或动态注入 {{ STATIC_URL }}(Django 模板变量);
- React 应用若通过 create-react-app 构建,建议在 public/index.html 中使用 %PUBLIC_URL%/asset/script.js(构建时自动替换),兼顾开发与生产环境。
总结:始终优先使用以 / 开头的根相对路径(root-relative path),它语义清晰、行为确定、无需额外配置,是解决此类资源加载错位问题最直接、最可靠的方式。
# 浏览器
# app
# public
# js
# go
# 路由
# html
# 前端
# 开发环境
# react
# django
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Win11如何卸载OneDrive_Win11卸载
- Python变量绑定机制_引用模型解析【教程】
- c# F# 的 MailboxProcessor
- Windows10怎么备份注册表_Windows1
- Win10路由器怎么隐藏ssid Win10隐藏w
- Win11怎么连接蓝牙耳机_Win11蓝牙设备配对
- Windows10蓝屏SYSTEM_SERVICE
- windows如何备份注册表_windows导出和
- php嵌入式多设备通信怎么实现_php同时管理多个
- php能控制zigbee模块吗_php通过串口与c
- Linux如何安装JDK11_Linux环境变量配
- 如何优化Golang Web性能_Golang H
- php接口返回数据乱码怎么办_php接口调试编码问
- php和redis连接超时怎么办_phpredis
- Python字符串处理进阶_切片方法解析【指导】
- win11如何清理传递优化文件 Win11为C盘瘦
- php本地部署支持nodejs吗_php与node
- Mac上的iMovie如何剪辑视频?(新手入门教程
- Win11怎么关闭VBS安全性_Windows11
- Mac怎么安装软件_Mac安装dmg与pkg文件的
- 如何关闭Win10自动更新更新_Win10系统自动
- Mac如何将HEIC图片格式转为JPG_Mac批量
- Windows10任务栏图标变成白色文件_Win1
- Windows 10怎么录屏_Windows 10
- Windows服务启动类型恢复方法_错误修改导致的
- windows如何测试网速_windows系统网络
- 如何在 Go 项目开发中正确处理本地包导入与远程模
- php485函数怎么捕获异常_php485错误处理
- Win11任务栏怎么放到顶部_Win11修改任务栏
- Win11此电脑不在桌面上_Windows 11桌
- Windows7如何安装系统镜像_Windows7
- mac怎么查看wifi密码_MAC查看已连接WiF
- php转mp4怎么设置帧率_调整php生成mp4视
- Linux如何申请SSL免费证书_Linux下Ce
- 微信JSAPI支付回调PHP怎么接收_处理JSAP
- Python函数缓存机制_lru_cache解析【
- Linux怎么查找死循环进程_Linux系统负载分
- c# Task.Yield 的作用是什么 它和Ta
- php下载安装包怎么选_threadsafe与nt
- c++获取当前时间戳_c++ time函数使用详解
- Python数据抓取合法性_合规说明【指导】
- Laravel 查询 JSON 列:高效筛选包含数
- php中self::能调用子类重写的方法吗_静态绑
- MAC如何启用访达侧边栏显示_MAC Finder
- Win11怎么恢复误删照片_Win11数据恢复工具
- Win11怎么清理C盘系统日志_Win11清理系统
- Go 中 defer 在 goroutine 内部
- c++如何判断文件是否存在_c++ filesys
- Mac电脑如何恢复出厂设置_Mac抹掉数据并重装系
- Win10如何更改开机密码_Windows10登录

QQ客服