ftp上传后网站上不去,绝大多数情况是文件放错了目录、域名解析没生效或者权限不对,按顺序检查这三个地方,99%的问题都能解决。
ftp上传后网站打不开怎么办?先看文件传对地方没
很多新手朋友第一次用FTP,直接把文件上传到根目录,但根目录可能不是网站根目录,你需要确认你上传的目录是服务器指定的网站目录。
网站根目录在哪?别被默认路径坑了
不同服务器环境,网站根目录不同,Apache默认是/var/www/html,Nginx可能是/usr/share/nginx/html,Windows Server是C:inetpubwwwroot,如果你用的是虚拟主机,控制面板里通常会标明“网站根目录”或“wwwroot”,上传前一定要确认,否则文件传了也是白传,建议在FTP客户端连接后,先查看远程站点目录,找到带有www或public_html的文件夹,那才是正确位置。
首页文件必须叫 index.html 或类似
服务器默认文档列表里,通常有index.html、index.php、index.htm等,如果你的首页文件命名成default.html或者home.html,服务器可能找不到,你可以通过FTP查看文件列表,确认首页文件名称是否在默认文档列表中,如果不知道默认文档列表,可以在服务器配置里查看,或者咨询主机商,上传后,直接访问域名,看是否显示首页内容,如果显示目录列表,说明缺少默认文档。
上传后检查文件大小,确保完整
有时候网络不稳定,文件上传一半就断了,你可以在FTP客户端里对比本地文件和远程文件的大小,如果大小不一致,重新上传,注意文件权限,有时权限不足会导致上传失败但显示成功,FTP客户端通常有“传输队列”窗口,检查是否有错误提示,如果传输速度突然变慢,也可能是连接问题,建议重新连接后再上传。
ftp上传文件后网站不显示?域名解析检查一下
文件传对了,但网站还是老样子,很可能是域名解析还没生效,或者你访问的还是旧缓存。
解析生效需要时间,但多数情况十分钟内
域名解析的TTL值决定了生效时间,如果你刚修改了DNS记录,可能需要等待,你可以用ping yourdomain.com看返回的IP是不是你的服务器IP,如果返回的是旧IP,说明解析还没刷新,你也可以用在线DNS检测工具,比如dnschecker.org,查看全球解析情况,如果是刚备案的域名,解析生效可能更长,但通常不超过24小时。
本地hosts文件可能干扰
如果你在本地修改过hosts文件,比如为了测试,那么访问时可能直接指向了错误IP,检查C:WindowsSystem32driversetchosts(Windows)或/etc/hosts(Linux/Mac),确保没有多余的条目,如果有,删除或注释掉相关行,然后保存,重新打开浏览器访问,应该就能看到新内容。
用ping命令验证域名指向
在命令行输入ping 你的域名,看返回的IP是否和服务器IP一致,如果不一致,域名解析有问题,如果一致,但网站还是打不开,可能是服务器配置问题,可以用nslookup命令查看更详细的解析记录,如果解析指向了服务器,但依然无法访问,检查服务器防火墙是否放行了80端口,对于国内服务器,还要确认域名是否已备案,未备案的域名会被拦截。
网站权限不足也会导致ftp上传后没内容
即使文件传到了正确目录,如果权限不对,Web服务器也无法读取,导致显示空白或403错误。
文件夹权限设置 755,文件 644
这是Linux服务器最常见的权限设置,文件夹需要可执行权限,所以是755;文件只需要读和写,所以是644,你可以在FTP客户端里右键修改权限,或者用命令
chmod -R 755 /yourwebsite,注意不要设置成777,有安全风险,如果权限设置错误,访问会出现403 Forbidden,你可以尝试临时设置为644,看是否可读,但文件夹必须可执行。
所有者要匹配Web用户
文件所有者必须是Web服务器运行的用户,比如www-data或apache,如果上传的用户是root,可能导致权限问题,你可以用chown -R www-data:www-data /yourwebsite更改所有者,如果不确定,问主机商,在Windows服务器上,通常是IIS用户,需要给IUSR或IIS_IUSRS添加读取权限,右键文件夹属性,安全选项卡,添加用户并赋予读取权限。
其他因素:缓存与服务器配置
排除以上三点,还有几个常见原因。
浏览器缓存和CDN缓存
浏览器可能缓存了旧页面,按Ctrl+F5强制刷新,如果用了CDN,CDN节点也可能缓存了旧内容,需要手动刷新CDN缓存,在CDN控制台找到“刷新缓存”功能,输入域名或路径,等待几分钟,如果CDN回源设置了缓存规则,可能需要等待过期时间。
服务器默认文档顺序
如果服务器默认文档列表里没有你上传的首页文件,比如你只上传了index.php,但列表里只有index.html,那么服务器会返回403或目录列表,你可以联系主机商修改默认文档顺序,或者上传一个index.html做跳转,在Apache中,可以通过DirectoryIndex指令修改;Nginx中,通过index指令设置,上传一个空白的index.html,内容为<meta http-equiv="refresh" content="0;url=index.php">,可以临时解决。
FTP传输模式影响
文件传输模式分为二进制和ASCII,如果传了二进制但文件是文本,可能导致文件损坏,对于图片、压缩包必须用二进制,对于文本文件可以用ASCII,但大多数情况下二进制更安全,在FileZilla中,可以在“传输”菜单里选择“强制二进制”,如果你发现上传后图片无法显示,或者页面乱码,可能是传输模式不对,重新上传即可。
ftp上传后没有网站,常见问题解答
问题1:ftp上传后网站显示空白页怎么办?
空白页通常是PHP错误或权限问题,先检查错误日志,一般在服务器/var/log/下,或者通过主机控制面板查看,如果是权限问题,按上面方法修改权限,如果是PHP错误,可以开启错误显示,在php.ini中设置display_errors = On,然后重启Web服务器,如果开启了错误显示还是空白,可能是程序逻辑错误,可以尝试上传一个简单的phpinfo文件测试。
问题2:为什么ftp上传了文件,但访问还是原来的页面?
大概率是缓存问题,浏览器缓存、CDN缓存、服务器缓存都可能导致,先清除浏览器缓存,再刷新CDN,如果还是不行,检查域名解析是否指向了正确服务器,确认是否上传到了正确的网站根目录,有些主机商有多个目录,比如/www和/wwwroot,传错位置也会导致此问题。
问题3:ftp上传后网站403错误怎么解决?
403禁止访问,通常是权限不够,检查文件权限是否644,文件夹755,并且所有者是否匹配Web用户,如果还是不行,检查服务器配置是否禁止了目录浏览,在Apache中,可以查看.htaccess文件是否有Deny from all指令,如果使用了安全插件,也可能引起403,检查网站根目录是否有index.html或index.php,如果没有,服务器会返回403。
ftp上传后网站出不来,别慌,路径、解析、权限,这三步走下来,绝大部分问题都能定位,按顺序排查,你也能成为FTP老手。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/518756.html


