网站的根目录怎么找

打开FTP工具,网站连上服务器,目录你看到的网站那个最顶层目录,大概率就是目录网站的根目录。但这事儿没这么简单,网站因为“根目录”在不同场景下指的目录不是同一个东西。

先说你最可能遇到的网站情况:虚拟主机。国内很多中小网站跑在虚拟主机上,目录服务商会给你一个FTP账号。网站连上去之后,目录你看到目录里可能有 wwwroot、网站public_html、目录htdocs、网站web 这类名字的目录文件夹。哪个是网站根目录?那个里面放着 index.php 或 index.html 的文件夹,就是根目录。 我见过有人把文件传到FTP登录后的第一层,结果网站打不开,因为第一层只是账号的家目录,不是Web服务器的指向目录。服务商通常会在开通邮件里写清楚“请将文件上传至 wwwroot 目录”,但很多人不看邮件。

独立服务器或VPS又是另一回事。你装完Nginx或Apache,默认的网站根目录通常在 /var/www/html(Debian/Ubuntu系)或 /usr/share/nginx/html(Nginx默认)。但这个默认值几乎所有人都会改。你得去看配置文件。Nginx的主配置在 /etc/nginx/nginx.conf,里面会include /etc/nginx/sites-enabled/ 下的站点配置。打开你的站点配置文件,找 root 这一行:

server {  listen 80; server_name example.com; root /home/www/mysite; index index.html; }

这里 root 后面跟的路径就是根目录。Apache的话去看 /etc/apache2/sites-available/ 下的 .conf 文件,找 DocumentRoot。这两个词你记住就行,看到它们,后面那个路径就是你要找的。

还有一种容易搞混的情况:你用的是宝塔面板、cPanel这类控制面板。宝塔面板里,网站根目录一般在 /www/wwwroot/你的域名/。cPanel则在 /home/用户名/public_html/。面板的好处是它直接告诉你路径,不用去翻配置文件。但有人用宝塔建站后,通过SSH去找根目录,翻来翻去找不到,其实面板界面上网站设置里写得清清楚楚。

框架类网站又不一样。比如WordPress,它的根目录就是放着 wp-config.php、wp-content、wp-admin 这几个东西的目录。你要改主题文件,进 wp-content/themes/;要传插件,进 wp-content/plugins/。这些路径都是相对于根目录的。有人问“WordPress根目录在哪”,其实是在问“我服务器上哪个文件夹装了WordPress”。这得看你当初怎么部署的。用宝塔一键部署的,在 /www/wwwroot/域名/;手动上传的,看你传到哪就是哪。

说个实际踩过的坑。有次帮人排查一个404问题,他说文件明明传上去了。我连上FTP一看,他在根目录下建了个 images 文件夹,图片传进去了,但网页里引用的是 /img/xxx.jpg。路径不对,跟根目录本身没关系。但这也说明一件事:找根目录的目的是为了确定文件引用的基准路径。 网页里写 /css/style.css,开头的斜杠就代表从根目录开始找。你根目录找错了,所有绝对路径全错。

最后说个简单粗暴的判断方法。如果你能通过浏览器访问网站,试着访问 你的域名/robots.txt 或者 你的域名/favicon.ico。如果能看到文件内容或图标,说明这些文件就在根目录下。反过来,你通过FTP或SSH在服务器上找到那个含有 robots.txt 的文件夹,它就是根目录。这个方法不用看配置文件,不用问客服,直接验证。

找根目录这件事,核心就一句话:Web服务器配置里那个 root 或 DocumentRoot 指向的路径,就是根目录。 其他所有方法——看FTP目录名、看面板提示、看框架特征文件——都是在没有配置文件权限时的替代方案。能看配置文件就直接看,最准。