使用cPanel上传Duda导出网站文件后页面链接失效求助
解决Duda导出HTML后cPanel部署的页面链接失效问题
我之前帮同事处理过一模一样的Duda导出部署问题,这种主页正常但其他页面链接跳不动的情况,基本都是路径或文件结构的锅,给你几个具体的排查和修复步骤:
1. 检查导出文件的链接路径是否正确
打开你从Duda导出的HTML文件(比如主页index.html),右键检查其他页面的链接元素,查看href属性的内容:
- 如果看到类似
https://your-duda-preview-site.duda.co/services.html这种绝对路径,这就是问题所在——Duda导出时可能默认带上了预览域名。你需要批量替换所有这类链接为相对路径,比如改成./services.html(同级目录)或者/services.html(服务器根目录)。 - 可以用文本编辑器的“查找替换”功能批量处理,效率更高。
2. 确认服务器上的文件结构匹配链接路径
上传到cPanel的public_html目录时,要保证:
- 所有导出的HTML文件(
index.html、about.html等)都直接放在public_html根目录下,不要嵌套到子文件夹里(除非你的链接路径特意指向子文件夹,比如/pages/about.html)。 - 同时要确保
assets、css、js这些资源文件夹也和HTML文件在同一层级,不然不仅页面链接失效,样式和脚本也可能加载异常。
3. 排查.htaccess文件的干扰
Duda导出的包有时候会自带.htaccess文件,或者cPanel默认的.htaccess可能有重写规则冲突:
- 先把服务器上的
.htaccess重命名为.htaccess.bak,然后刷新页面测试链接是否正常。 - 如果恢复正常,说明是
.htaccess的问题,你可以直接删除Duda导出的.htaccess,改用cPanel默认的配置即可。
4. 验证文件名的大小写和扩展名
cPanel用的是Linux服务器,文件名区分大小写:
- 比如导出的文件是
About.html,但链接里写的是about.html,就会出现404错误。 - 确保所有HTML文件的扩展名都是
.html,并且链接里的文件名和服务器上的完全一致。
5. 强制清除浏览器缓存
有时候浏览器缓存了旧的链接数据,导致测试结果不准确:
- 按
Ctrl+Shift+R(Windows)或Cmd+Shift+R(Mac)强制刷新页面,或者用无痕模式打开网站测试。
内容的提问来源于stack exchange,提问作者Zargaf
相关产品推荐
相关产品推荐

