把几百个 HTML 文件一股脑扔进网站根目录,有网页都这事我干过。放网那是站根 2016 年帮一个开咖啡馆的朋友做官网,总共就 7 个页面:首页、目录菜单、有网页都关于、放网联系、站根招聘、目录活动、有网页都404。放网我当时想都没想,站根直接全放在
public_html下面。目录FTP 拖进去,有网页都浏览器打开,放网跑得挺欢。站根朋友满意,我也觉得利索。但后来他加了个博客,又加了在线预订,根目录开始变成杂物间——index.html旁边躺着reserve.php,再旁边是blog-post-3.html,还有一堆没命名的test.html。那时候我才意识到,根目录不是仓库,它更像一块招牌。招牌上只该挂最核心的东西。网页数量少的时候,扁平结构确实有它的道理。URL 短,
example.com/menu.html一眼看到底,服务器配置也简单,不需要折腾重写规则。小团队几个人,谁改哪个文件一目了然。我见过一个摄影师的个人站,总共 12 个页面,全在根目录,用about.html、portfolio-1.html这样命名。他说这样备份方便,打包下载就是一个完整网站。这话不假,但前提是网站不再长大。一旦超过 30 个页面,根目录的列表就开始让人头疼。你在 FTP 里找contact.html,得滚动好几屏,旁边还混着sitemap.xml、robots.txt、favicon.ico、.htaccess,以及不知道哪个年代留下的old-index.html。问题不只是乱。根目录是权限最敏感的地方。很多服务器默认允许目录列表,万一
index.html被误删,访问者直接看到一长串文件清单,里面可能包含backup.zip或者config.php。我见过一个真实案例:某小型企业站把所有页面和一份db-connect.php一起放在根目录,结果因为一个拼写错误导致 PHP 源码被下载,数据库密码直接暴露。这不是危言耸听,是 2018 年某安全论坛上的帖子。根目录应该只放入口文件,其他东西该藏的藏,该分目录的分目录。那怎么分?看网站类型。如果是纯静态展示站,页面在 20 个以内,根目录放所有 HTML 也不是不行,但至少把图片、CSS、JS 分别放进
/images、/css、/js。我自己的习惯是,哪怕只有三个页面,也建一个/pages文件夹,根目录只留index.html和404.html。这样以后加东西,心里不慌。如果是博客或者内容站,按日期或分类分目录几乎是必须的,/2024/03/或者/tech/,既利于管理,也利于 URL 语义化。我见过一个技术博客,所有文章都叫post-1.html到post-247.html,全在根目录。后来他想改 permalink 结构,发现根本没法批量重定向,因为文件名和内容毫无关联。有人会说,用 CMS 不就行了,WordPress 自动分目录。对,但 CMS 也有根目录洁癖问题。你装十个插件,每个都在根目录扔一个
readme.txt或者license.txt,时间一长照样乱。我现在的做法是,不管什么站,根目录只允许出现这几样:index.php或index.html、.htaccess、robots.txt、favicon.ico,最多再加一个sitemap.xml。其他所有东西,统统进子目录。这规矩听起来死板,但省心。每次打开 FTP,一眼就知道哪些是核心,哪些是内容。说到底,根目录不是不能放网页,而是不该把它当成唯一的地方。网站会长大,人会换,需求会变。今天你觉得七个页面放根目录挺清爽,明天加个商城,后天加个论坛,根目录就成了垃圾堆。与其到时候手忙脚乱地搬家,不如一开始就留好退路。我那个咖啡馆朋友的站,后来我帮他重构了一次,根目录只剩
顶: 935踩: 83695index.php和.htaccess,其他全进了/app、/public、/content。他说看起来专业多了。其实专不专业另说,至少找文件不用再靠眼力了。






评论专区