FTP上传HTML5网页后页面空白或404,主因是路径错误、大小写敏感、默认文档缺失或目录权限问题,而非HTML5不兼容;需检查相对路径、Linux大小写、index.html存在性、PASV模式及755/644权限设置。

FTP 上传 HTML5 网页后页面空白或报 404 错误
多数情况不是 HTML5 本身不兼容,而是文件路径、大小写、默认文档或目录结构出问题。HTML5 只是标记规范,服务器只认文件是否存在、能否被路由到。
常见现象:index.html 上传后访问域名显示空白;点开子页面提示 404 Not Found;图片/CSS/JS 路径全红(控制台报 Failed to load resource)。
- 检查 FTP 客户端是否启用了「被动模式(PASV)」——共享主机大多强制要求 PASV,否则上传中断或目录列表为空
- 确认所有链接路径用的是相对路径,比如
,而不是href="/css/style.css"(绝对路径易因子目录部署失效) - 注意大小写:Linux 主机区分
About.html和about.html,本地 Windows 测试不报错,传到服务器就 404 - 确保根目录下有且仅有 1 个合法默认首页文件,常见命名顺序为:
index.html>index.htm>default.html;部分主机不识别home.html
FTP 上传时提示 “553 Could not create file” 或 “Permission denied”
这和 HTML5 无关,是目标目录权限或用户配额导致的。主机通常限制 /public_html 或 /www 下的写入权限,但允许上传到子目录。
- 不要尝试上传到
/根或/etc/var等系统路径——这些根本不可写,FTP 用户无权访问 - 上传前先在 FTP 中新建一个子目录(如
test-site),再把整个项目拖进去;然后通过yourdomain.com/test-site/访问测试 - 若仍报错,检查该目录权限是否为
755(文件夹)或644(HTML/CSS/JS 文件);用 FTP 客户端右键 →「文件权限」修改,避免设成777(安全风险) - 某些主机对单文件大小有限制(如免费空间限 2MB),大体积视频或 WebAssembly 模块需压缩或改用 CDN
HTML5 语义标签(如 、)在旧浏览器不显示?
这不是 FTP 或发布问题,是渲染兼容性问题。但很多人误以为“传上去坏了”。现代主机都支持 HTML5 文档类型,只要声明正确即可。
立即学习“前端免费学习笔记(深入)”;
- 确保
index.html开头第一行是标准声明:(不能多空格、不能写成小写虽可接受,但统一用大写更稳妥) - IE8 及以下不原生支持语义标签,需加
document.createElement脚本或引入html5shiv.js;但仅影响样式渲染,不影响 FTP 上传和服务器解析 - 如果 CSS 中用了
header { display: block; }却没生效,大概率是 CSS 文件没加载成功——回看上一条里的路径大小写和 404 问题
上传后 JS 交互失效、Canvas 不渲染、Fetch 报 CORS 错误
这些是运行时行为问题,往往源于资源加载环境变化,而非 FTP 本身。
-
fetch('/api/data.json')在本地双击打开会失败(浏览器跨域拦截),但上传到 HTTP/HTTPS 服务器后正常——这是预期行为,不是错误 - Canvas 动画卡顿?检查是否在
requestAnimationFrame中重复创建Image对象,或未用canvas.toDataURL()缓存绘制结果;FTP 传输不会改变 JS 执行逻辑 - 音频/视频自动播放被禁用?现代浏览器策略要求用户手势触发,
autoplay属性在无静音、无交互前提下会被忽略——跟上传方式完全无关 - 若用到了
localStorage或indexedDB,注意不同域名(http://vshttps://,或带 www 与不带)是隔离的存储空间
真正卡住人的,往往是把本地开发路径习惯直接搬到线上,比如用 file:/// 测试时路径随便写,一上传就全崩。FTP 只负责搬运,它不管你的 到底找不找得到——那得靠你亲手核对每一条 href 和 src 的拼写、层级和大小写。










