|
打开FTP工具,网站连上服务器,根目你第一眼看到的录里那一堆文件夹——public_html、wwwroot、网站htdocs、根目www——其中一个就是录里网站根目录。别急着传文件,网站先搞清楚哪个才是根目对的,传错了位置,录里网站打不开,网站白忙活。根目 我见过太多人在这件事上翻车。录里去年帮一个朋友看他刚买的网站虚拟主机,他把index.html传到了跟public_html同级的根目另一个文件夹里,然后跑来问我为什么域名访问是录里一片空白。我登上去一看,文件躺在一个叫“backup”的目录里。他以为所有文件夹都一样,随便扔一个就行。 虚拟主机:看面板给的名字虚拟主机商不同,根目录的叫法就不一样。Bluehost用的是public_html,GoDaddy也差不多,SiteGround默认是public_html,但有些老牌服务商会用www或者htdocs。Namecheap的共享主机用的就是public_html。国内的一些主机商,比如阿里云虚拟主机,根目录通常是htdocs。 怎么确认?最省事的办法是登进主机控制面板(cPanel、Plesk或者主机商自研的面板),找“文件管理器”或者“网站根目录”这一项。多数面板会直接标注哪个文件夹是对外开放的根目录。cPanel里有个“域名”板块,点进去能看到每个域名对应的“文档根目录”路径,写得清清楚楚。别靠猜。 VPS和云服务器:得自己配如果你用的是VPS或者云服务器,情况就不一样了。根目录不是自动生成的,是你装完Web服务器软件之后自己定的。拿Nginx来说,默认配置文件通常在/etc/nginx/sites-available/下面,里面有一行root /var/www/html;,这个路径就是根目录。Apache的话,默认根目录一般是/var/www/html或者/var/www,配置文件在/etc/apache2/sites-available/000-default.conf里,找DocumentRoot那一行。 有人装完宝塔面板,根目录就变成/www/wwwroot/你的域名/。用LNMP一键包,根目录通常在/home/wwwroot/下面。这些路径不是铁律,取决于你怎么配的。忘了的话,Nginx用 本地开发环境:看你用的工具本地搭WordPress,用XAMPP的话,根目录在xampp/htdocs/。用MAMP,在Applications/MAMP/htdocs/。WAMP在wamp/www/。这些集成环境把根目录设在了安装目录下的一个固定文件夹里,你写的PHP文件得放进去才能通过localhost访问。 用Docker跑Nginx,那根目录取决于你挂载的volume。比如你把本地的./src挂到了容器里的/usr/share/nginx/html,那./src就是根目录。用Laravel Valet或者Herd,根目录是项目的public文件夹,不是项目根目录,这个坑很多人踩过——把文件放在项目根目录而不是public里面,死活访问不到。 找不到的时候怎么办一个笨办法但管用:在疑似根目录的文件夹里放一个名字很独特的文件,比如test-abc123.html,里面随便写几个字,然后浏览器访问你的域名/test-abc123.html。能打开,说明找对了。打不开,换一个文件夹再试。比翻文档快。 还有个思路是看现有网站的文件结构。如果网站已经能正常运行,用FTP连上去,看看index.php或者index.html在哪个目录里,那个目录就是根目录。简单粗暴,但有效。 根目录这东西,说穿了就是Web服务器对外提供文件服务的起始位置。你放进去的文件,别人通过域名就能访问到。放错了地方,服务器根本不会去那里找。搞清楚它在哪,是传文件之前必须做的事。别嫌麻烦,花两分钟确认一下,省得后面折腾两小时。 |
