全文提要

网站虚拟静态根目录(访问域名 / 直接读取的文件)

1. 全站通用静态根目录

手动新建 .halo2/static 文件夹,这个就是网站根目录:

放入 favicon.ico、robots.txt、自定义 html、下载文件等

访问路径:你的域名/文件名

例:.halo2/static/robots.txt → https://xxx.com/robots.txt

2. 主题静态目录(仅主题内资源)

.halo2/themes/你的主题/templates/assets/

访问路径:域名/themes/主题名/assets/xxx.css,不属于网站根目录

三、不同部署方式实际路径

1. Jar 包直接运行(Linux)

默认数据目录:~/.halo2

自定义目录启动(修改根目录):

java -Dhalo.data-dir=/data/halo -jar halo.jar

此时网站根目录变为 /data/halo/static

2. Docker 部署(最常用)

启动命令挂载示例:

bash

运行

docker run -d --name halo -p 8090:8090 \

-v /opt/halo-data:/root/.halo2 \

halohub/halo:latest

容器内工作目录:/root/.halo2

宿主机真实网站根目录:/opt/halo-data/static

3. 1Panel / 宝塔一键镜像部署

腾讯 / 阿里云轻量 1Panel:/opt/1panel/apps/halo/.halo2

宝塔手动 Jar 部署:一般自定义 /www/halo/.halo2

4. Windows 本地运行

默认:C:\Users\用户名\.halo2

网站静态根目录:C:\Users\用户名\.halo2\static

四、常见误区区分

jar 包存放目录 ≠ 网站根目录

jar 只是程序,文章、图片、主题全部存在 .halo2,删 jar 不丢网站数据。

themes 不是网站根目录

themes 只存放主题模板,全站根文件(robots、ico)必须放 static。

访问后台地址:域名/console,后台路由不属于文件根目录。

五、快速操作示例(添加根目录文件)

进入数据目录

bash

运行

cd ~/.halo2

# 不存在static就创建

mkdir static

放入 robots.txt

bash

运行

echo "User-agent: *" > static/robots.txt

浏览器访问 域名/robots.txt 即可生效,无需重启 Halo。