FTP中web文件夹用途_网站根目录与程序放置
用FTP连接虚拟主机后,根目录下通常有多个文件夹,很多新手站长不知道这些文件夹分别是做什么用的,不敢随便操作,怕删错文件导致网站崩溃。实际上虚拟主机的目录结构是有规律的,不同文件夹有明确的用途,了解这些目录的作用能帮助你更高效地管理网站文件、排查问题、做好安全配置。本文详细讲解FTP中常见文件夹的用途,包括网站根目录、日志目录、临时目录、配置目录、备份目录、证书目录等,帮助你彻底搞懂虚拟主机的目录结构。
backup或backups文件夹存放网站和数据库的备份文件。很多虚拟主机面板会自动定期备份,备份文件存放在这个目录,包括完整备份(文件+数据库+邮件+配置)和增量备份。备份文件通常是tar.gz或zip格式,文件名包含备份日期。备份目录对数据安全非常重要,网站被黑、误删文件、数据库损坏时,可以从备份恢复。注意不要把备份文件放在网站根目录下(public_html内),否则可能被他人通过URL下载,导致数据泄露。备份文件应该放在根目录外的backup目录,或者下载到本地和云端存储。定期检查备份是否正常生成,测试备份文件能否正常恢复。
ssl或certs文件夹存放SSL证书文件,包括证书文件(.crt或.pem)、私钥文件(.key)、证书链文件(.ca-bundle)。cPanel中SSL证书在「SSL/TLS」中管理,证书文件实际存放在用户目录下的ssl文件夹。宝塔面板的证书存放在/server/panel/vhost/cert目录。证书文件包含敏感的私钥,私钥泄露会导致HTTPS通信被破解,所以ssl目录权限要严格设置,只有所有者可读(600或700),不要把私钥文件放到网站根目录。如果需要手动安装证书,把证书文件和私钥文件上传到ssl目录,然后在面板中配置或在Web服务器配置文件中引用。
.htaccess文件是Apache和LiteSpeed Web Server的分布式配置文件,放在网站根目录下,用于配置伪静态规则、301重定向、访问控制、自定义错误页、Gzip压缩、浏览器缓存、PHP参数等。WordPress设置固定链接后会自动生成.htaccess,dedecms、ThinkPHP等程序也需要配置.htaccess伪静态规则。.htaccess是隐藏文件,FTP中需要开启显示隐藏文件才能看到。如果.htaccess不存在,可以手动创建。修改.htaccess后不需要重启服务器,立即生效。注意.htaccess语法错误会导致网站500错误,修改前备份,修改后测试网站是否正常访问。Nginx不支持.htaccess,需要在配置文件中写规则。
robots.txt文件放在网站根目录,用于告诉搜索引擎爬虫哪些页面可以抓取、哪些不要抓取。robots.txt是纯文本文件,格式为User-agent(指定爬虫)和Disallow(禁止抓取的路径)、Allow(允许抓取的路径)。如Disallow: /admin/禁止抓取后台目录,Disallow: /?禁止抓取带参数的URL。robots.txt只是协议,不是强制,恶意爬虫会忽略,但正规搜索引擎(百度、Google)会遵守。注意不要用robots.txt禁止整个网站(Disallow: /),否则搜索引擎不会收录你的网站。robots.txt可以在搜索引擎站长平台提交和测试。如果不需要限制爬虫,robots.txt可以不存在或内容为空。
session文件夹用于存储PHP会话文件(如果session配置为文件存储)。每个用户访问网站时,PHP会在session目录创建一个以sess_开头的文件,存储该用户的会话数据(如登录状态、购物车内容)。session目录需要写入权限,否则用户登录状态无法保持、购物车内容丢失。session文件有过期时间,过期后会被PHP的垃圾回收机制自动删除,但如果访问量小或配置不当,旧session文件可能积累占用空间,可以定期手动清理15天以上的session文件。注意不要删除正在使用的session文件,会导致用户掉线。部分主机的session目录在/tmp下,FTP中看不到。
tmp文件夹是临时文件目录,用于存放PHP上传的临时文件、会话文件(如果配置为文件存储)、程序生成的临时数据。PHP上传文件时,文件先存放在tmp目录,处理完成后移动到目标目录,如果上传失败tmp中的临时文件会被自动清理。tmp目录需要有写入权限,否则文件上传会失败。tmp目录的文件系统会自动清理,不需要手动删除,但如果磁盘空间不足可以手动清理旧的临时文件。注意不要把重要文件放到tmp目录,随时可能被删除。部分主机的tmp目录在网站根目录外,FTP中可能看不到,需要通过面板的文件管理器访问。
temp文件夹和tmp作用相同,都是临时文件目录,只是命名不同。Windows系统中常用temp,Linux系统中常用tmp。有些程序会在自己的目录下创建temp文件夹存放临时缓存,如dedecms的data/temp,WordPress的wp-content/temp。这些程序级临时目录的作用和系统tmp类似,存放程序运行时的临时文件,可以定期清理但不要删除目录本身。如果程序提示临时目录不可写,需要给temp目录设置写入权限(Linux下755或777,Windows下给IIS用户添加写入权限)。清理临时文件时注意不要删除正在使用的文件,可能导致程序异常。
.git文件夹是Git版本控制系统的仓库数据目录,包含所有提交历史、分支、标签、配置信息。如果你用Git管理网站代码,在网站目录下初始化Git仓库后会生成.git目录。.git目录包含完整的代码历史,如果放到网站根目录且允许访问,他人可以通过http://域名/.git/config获取仓库信息,甚至下载完整源码,造成代码泄露。所以绝对不要把.git目录放到网站根目录下,或者在Web服务器配置中禁止访问.git目录(Nginx用location ~ /.git { deny all; },Apache用.htaccess的RewriteRule)。正确的做法是用Git部署时,代码仓库放在网站根目录外,只把需要运行的文件复制或软链接到根目录。
cgi-bin文件夹用于存放CGI脚本(Perl、Python、Shell等可执行脚本),是早期动态网页技术的标准目录。cgi-bin目录通常在网站根目录下,有执行权限,放在这里的脚本可以通过http://域名/cgi-bin/脚本名执行。现在PHP、Node.js等技术已经取代了CGI,大部分网站不需要cgi-bin目录。但有些老程序或特定功能(如FormMail表单处理)仍然需要CGI支持。如果你不用CGI,可以删除cgi-bin目录,不影响PHP网站运行。如果需要用CGI,确保cgi-bin目录有执行权限(755),脚本文件有执行权限,脚本第一行指定解释器路径(如#!/usr/bin/perl)。
站长反馈:「刚用虚拟主机时FTP里一堆文件夹不知道干嘛的,看了这篇才清楚public_html是放网站的,logs是看日志的,tmp是临时文件,以后管理文件不再乱删了」「之前把数据库备份放到public_html里,幸好看到文章说不能放根目录,赶紧移到backup目录,不然被人下载就麻烦了」。
安全提醒:网站根目录是公开可访问的,任何放到根目录下的文件都可能被他人通过URL下载,敏感文件(数据库备份、配置文件、SSL私钥、SSH密钥、.git仓库)必须放到根目录外的目录(如backup、ssl、.ssh)。目录权限遵循最小权限原则,需要写入的目录才开写入权限,其他目录只读。上传目录(uploads)必须禁止执行PHP脚本,防止webshell上传。定期检查目录文件,发现异常立即排查。FTP密码使用复杂组合,不要在公共网络使用明文FTP,建议用SFTP加密传输。

更新时间:2026-08-26 20:38:37
上一篇:网页打开出错ERR_EMPTY_RESPONSE空响应修复