FTP中wwwroot文件夹用途_IIS环境网站根目录说明
了解FTP目录结构不仅是为了正确上传文件,更是为了网站安全和运维效率。很多安全问题都与目录权限和目录位置有关——把配置文件放到网站根目录会被下载,日志目录权限过大会被写入恶意文件,上传目录没有限制执行会被上传webshell。知道每个目录的作用,才能正确设置权限、保护敏感文件、排查入侵痕迹。本文从实用角度出发,讲解FTP中常见文件夹的用途,同时给出权限设置建议和安全注意事项,帮助你安全高效地管理网站文件。
.ssh文件夹存放SSH密钥对和配置文件,包括id_rsa(私钥)、id_rsa.pub(公钥)、authorized_keys(授权公钥列表)、known_hosts(已知主机指纹)、config(SSH客户端配置)。.ssh目录权限必须是700,authorized_keys文件权限必须是600,否则SSH密钥认证会失败(SSH出于安全考虑会拒绝权限过宽的密钥文件)。私钥文件id_rsa是敏感文件,泄露后他人可以用你的密钥登录服务器,必须严格保护。如果你用SSH密钥登录服务器,.ssh目录会自动创建。FTP中.ssh是隐藏目录,需要开启显示隐藏文件才能看到。不要删除.ssh目录,否则SSH密钥登录失效。
.well-known文件夹是标准化的验证目录,用于各种域名所有权验证和协议配置。最常见的是acme-challenge子目录,Let's Encrypt等免费SSL证书在申请时需要验证域名所有权,验证方式是在网站根目录的.well-known/acme-challenge下创建一个验证文件,证书颁发机构通过HTTP访问该文件确认你拥有域名。.well-known还用于其他验证,如Apple Pay的域名验证、Google Search Console的验证、Bing网站管理员工具验证等。这个目录通常由验证工具自动创建和管理,不需要手动操作,但如果自动验证失败,可以手动创建目录和验证文件。.well-known目录在网站根目录下,需要确保Web服务器可以访问。
robots.txt文件放在网站根目录,用于告诉搜索引擎爬虫哪些页面可以抓取、哪些不要抓取。robots.txt是纯文本文件,格式为User-agent(指定爬虫)和Disallow(禁止抓取的路径)、Allow(允许抓取的路径)。如Disallow: /admin/禁止抓取后台目录,Disallow: /?禁止抓取带参数的URL。robots.txt只是协议,不是强制,恶意爬虫会忽略,但正规搜索引擎(百度、Google)会遵守。注意不要用robots.txt禁止整个网站(Disallow: /),否则搜索引擎不会收录你的网站。robots.txt可以在搜索引擎站长平台提交和测试。如果不需要限制爬虫,robots.txt可以不存在或内容为空。
FTP目录操作的安全注意事项。一是不要把敏感文件(配置文件、数据库备份、SSL私钥、.git目录)放到网站根目录下,根目录下的文件都可以通过URL访问,敏感文件必须放到根目录外。二是目录权限设置要合理,Linux下目录755、文件644是标准,需要写入的目录(uploads、runtime、data)设为755或775,不要全局777。三是定期检查网站目录,发现异常文件(如陌生的.php文件、被篡改的index.php)立即排查,可能是被入侵。四是上传文件前用杀毒软件扫描,避免上传带病毒或后门的文件。五是删除不用的目录和文件,减少攻击面。
.user.ini文件是PHP的用户级自定义配置文件,放在网站根目录下,用于覆盖php.ini的默认配置,如memory_limit、upload_max_filesize、max_execution_time、display_errors等。.user.ini是PHP 5.3以上版本支持的功能,比php.ini更灵活,每个目录可以有自己的.user.ini。虚拟主机通常允许用户通过.user.ini自定义PHP参数,不需要修改全局php.ini。.user.ini是隐藏文件,FTP中需开启显示隐藏文件。修改.user.ini后,PHP有缓存机制(默认user_ini.cache_ttl=300秒),最多5分钟后生效,不需要重启服务器。注意不要在.user.ini中设置危险参数(如disable_classes清空),可能被主机商限制。
wwwroot是宝塔面板和Windows IIS环境的网站根目录名称。宝塔Linux面板中,每个网站的根目录默认是/www/wwwroot/域名,通过FTP连接后看到的wwwroot就是该网站的根目录。Windows IIS环境中,网站根目录默认是C:inetpubwwwroot,也可以在IIS管理器中自定义路径。无论哪种环境,wwwroot的作用和public_html一样,都是存放网站程序文件、用户通过域名访问的内容。上传文件时确认放到wwwroot目录下,不要放到上层目录。
htdocs是XAMPP、WAMP等本地集成环境和部分Apache虚拟主机的网站根目录名称。htdocs是hypertext documents的缩写,即超文本文档目录,存放网页文件。如果你用XAMPP在本地开发网站,网站文件放在xampp/htdocs目录下,通过http://localhost访问。部分海外虚拟主机也用htdocs作为根目录。作用和public_html、wwwroot完全相同,只是命名不同。上传文件时确认主机的根目录名称,放到正确的目录下,不要因为名称不同而困惑。
public_html是cPanel面板Linux虚拟主机的网站根目录,域名访问的文件都放在这个目录下。你上传的网站程序(WordPress、dedecms等)、图片、CSS、JS等所有可通过域名访问的文件都要放在public_html里。这个目录的权限通常是750或755,所有者是你的cPanel用户。不要在public_html外放置需要通过域名访问的文件,否则访问不到。子域名或附加域名的根目录默认在public_html下的子目录,如public_html/blog,也可以在cPanel中修改为public_html外的目录。
var文件夹存放可变数据,包括运行时文件、缓存、锁文件、spool文件等。系统级的/var目录下有/var/log(日志)、/var/tmp(临时文件)、/var/run(进程PID文件)、/var/spool(邮件和打印队列)。虚拟主机用户目录下的var目录可能存放用户级的运行时数据。大部分站长不需要直接操作var目录,日志在logs目录查看,临时文件在tmp目录。如果程序需要写入运行时数据,可能会在var目录创建文件,确保该目录有写入权限。不要随意删除var目录下的文件,可能导致正在运行的进程异常。
bin文件夹存放可执行文件(二进制程序和脚本)。系统级的/bin目录存放基础命令(ls、cp、mv等),/usr/bin存放用户程序,这些目录普通用户没有写入权限,FTP中通常看不到。虚拟主机用户目录下的bin目录可能存放用户自己安装的程序或脚本,如自定义的备份脚本、命令行工具。如果你不需要自己安装命令行程序,bin目录基本用不到。不要把网站文件放到bin目录,无法通过域名访问。如果自己编写脚本放到bin目录,需要设置可执行权限(chmod +x)才能运行。
用户真实体验:「网站上传后访问不到,查了半天才发现是传到了根目录外,应该放到public_html里,按文中说的移过去后网站正常了」「.htaccess是隐藏文件,FTP里一直看不到,按文中说的开启显示隐藏文件后找到了,修改伪静态规则后内页正常访问」。
经验总结:FTP目录结构虽然因面板和环境不同而有差异,但核心逻辑一致——网站根目录放可访问文件,根目录外放敏感文件和系统文件。记住几个关键目录:网站根目录(public_html/wwwroot)、日志目录(logs)、临时目录(tmp)、备份目录(backup)、证书目录(ssl)。管理网站文件时,上传前确认目录,删除前确认用途,权限设置遵循最小原则。遇到问题时先查日志(logs目录),很多错误都能从日志中找到原因。熟悉目录结构后,网站管理和故障排查都会高效很多。

更新时间:2026-08-27 00:42:25