时尚

是将所有网页都放在网站根目录下

时间:2010-12-5 17:23:32  作者:探索   来源:知识  查看:  评论:0
内容摘要:把几百个 HTML 文件一股脑扔进网站根目录,这事我干过。那是 2016 年帮一个开咖啡馆的朋友做官网,总共就 7 个页面:首页、菜单、关于、联系、招聘、活动、404。我当时想都没想,直接全放在 pu

把几百个 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,一眼就知道哪些是核心,哪些是内容。

说到底,根目录不是不能放网页,而是不该把它当成唯一的地方。网站会长大,人会换,需求会变。今天你觉得七个页面放根目录挺清爽,明天加个商城,后天加个论坛,根目录就成了垃圾堆。与其到时候手忙脚乱地搬家,不如一开始就留好退路。我那个咖啡馆朋友的站,后来我帮他重构了一次,根目录只剩 index.php 和 .htaccess,其他全进了 /app、/public、/content。他说看起来专业多了。其实专不专业另说,至少找文件不用再靠眼力了。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap