网站上传云服务器后404

网站上传到云服务器后出现404,是部署和迁移过程中比较常见的问题。它表示服务器已经收到请求,但没有找到当前URL对应的资源。按照RFC 9110对404状态码的定义,服务器也可能因为不愿公开目标资源是否存在而返回404。查看HTTP 404标准说明

排查时要先确认浏览器收到的确实是HTTP 404。连接被拒绝通常表示Web服务没有启动、端口未监听或被防火墙拦截;登录失败一般对应401或403;数据库故障则更常见于500错误或程序自定义错误页,它们不能直接归为404。

一、网站出现404的常见原因

1. 文件或访问路径不正确

上传网站时,如果文件放错目录,或者Web服务器配置的站点根目录与实际目录不一致,访问时就会找不到相应资源。

Linux系统区分文件名大小写。例如,About.htmlabout.html会被识别为两个不同文件。迁移前在Windows环境中可以访问的页面,上传到Linux服务器后可能因此出现404。

2. 虚拟主机配置错误

Apache的DocumentRoot或Nginx的root设置错误,都会让服务器到错误的目录中寻找文件。域名没有绑定到正确的虚拟主机时,请求还可能进入默认站点并返回404。

Apache官方说明中也提到,DocumentRoot决定服务器从哪个文件系统目录读取网站内容。查看Apache站点目录说明

3. URL重写或路由规则丢失

WordPress等内容管理系统通常需要固定链接或重写规则。迁移时遗漏.htaccess、Nginx重写配置不完整,或者Apache没有启用相应模块,都可能造成首页正常、内页全部404。

使用Vue、React等前端框架制作的单页应用时,直接访问二级路由也可能返回404。这种情况需要Web服务器把符合条件的请求交给应用入口处理。

4. 文件没有完整上传

上传中断、压缩包没有完全解压,或者部署时漏掉了入口文件和静态资源,也会导致部分页面404。应将本地文件清单与服务器目录进行核对。

5. 文件权限或属主设置异常

权限异常有时会导致403,也可能在特定服务器配置下表现为404。不要看到错误后就把所有目录统一改为775。

目录使用755或775是否合适,需要结合文件属主、Web服务运行用户和写入需求判断。设置过宽的权限可能带来安全风险。

二、网站404的排查方法

1. 检查URL和网站根目录

先确认访问地址是否拼写正确,并通过FTP、SFTP或服务器终端检查对应文件是否真实存在。

重点核对以下内容:

  • 域名解析是否指向当前云服务器
  • 域名是否绑定到正确站点;
  • 站点根目录是否与上传目录一致;
  • 首页文件及被访问的页面是否存在;
  • 文件名大小写是否一致。

如果只有某个页面404,通常应先检查该页面的文件或路由;如果整个网站都404,则重点检查域名绑定、虚拟主机和站点根目录。

2. 查看Apache配置

Apache服务器常见的主配置文件包括:

sudo nano /etc/httpd/conf/httpd.conf

CentOS等系统通常使用上述路径。Ubuntu等系统常见路径为:

sudo nano /etc/apache2/apache2.conf

打开配置文件后,检查虚拟主机中的域名、端口、DocumentRoot和目录访问设置。修改前应先备份原配置,保存后测试配置语法,再重新加载Apache服务。

3. 检查.htaccess文件

.htaccess只适用于Apache。Nginx不会读取该文件。

如果网站依赖.htaccess中的重写规则,应确认文件已经上传,并检查Apache是否允许相应目录使用该文件。Apache官方资料说明,AllowOverride默认为None时,.htaccess会被完全忽略。查看Apache .htaccess说明

以下配置只能关闭目录列表并指定404错误页:

Options -Indexes
ErrorDocument 404 /404.php

其中,Options -Indexes用于禁止显示目录文件列表;ErrorDocument 404 /404.php用于调用自定义404页面。它们不会修复错误的路径或路由,而且服务器中必须真实存在404.php文件。查看Apache自定义错误页说明

4. 检查Nginx路由配置

如果服务器使用Nginx,应检查站点配置中的server_namerootindexlocation等项目。

动态网站或单页应用还要核对try_files配置。Nginx官方文档说明,try_files会按照指定顺序检查文件是否存在,并在找不到文件时转到设定的处理入口。查看Nginx try_files说明

不同程序使用的路由规则并不相同,不要直接复制其他网站的Nginx配置。修改后应先检查语法,再重新加载服务。

5. 检查WordPress等网站程序

WordPress迁移后出现内页404,可以检查固定链接设置和原有重写规则是否保留。数据库连接信息一般位于wp-config.php,常见编辑命令为:

sudo nano /var/www/wordpress/wp-config.php

数据库配置错误通常不会直接产生标准404,但如果程序根据查询结果主动返回404,则需要同时查看应用日志和数据库状态。

6. 查看访问日志和错误日志

日志通常比反复修改配置更有效。通过日志可以确认请求进入了哪个虚拟主机、服务器查找了哪个文件,以及请求是否被重写到其他位置。

Apache和Nginx的日志位置会随系统及面板配置而变化,应以当前服务器的站点配置为准。

总结

网站上传到云服务器后出现404,首先要确认状态码,再按照“域名绑定—站点根目录—文件是否存在—虚拟主机—重写规则—应用路由”的顺序排查。

不要把连接失败、权限拒绝和数据库报错全部当成404,也不要在没有确认原因的情况下批量修改目录权限。找到请求实际落到的位置,通常就能更快定位问题。

以上就是关于“网站上传云服务器后404”的分享和介绍。

三五互联35.com)是经工信部审批,持有ISP、云牌照、IDC、CDN等业务资质的老牌云服务商。成立20余年来,公司一直从事域名注册、虚拟主机、云服务器企业邮箱和企业建站等互联网基础服务。

三五互联自研云计算平台,已为超过50万个网站提供云托管服务。目前,高性能云服务器正在进行特价促销,最低仅需48元。

活动详情:https://www.35.com/cloudhost/

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:3140448839@qq.com。本站原创内容未经允许不得转载,或转载时需注明出处:三五互联知识库 » 网站上传云服务器后404

登录

找回密码

注册