Typecho 完整目录结构详解

Typecho/
├── admin/ # 后台管理面板
├── usr/ # 用户数据目录【最重要!主题、插件、附件、缓存都在这里】
├── var/ # 框架核心库文件
├── index.php # 博客首页入口文件
├── install.php # 安装程序(安装完成建议删除/改名)
├── config.inc.php # 数据库配置文件【重中之重】
├── license.txt
├── readme.md

  1. config.inc.php
    存放:数据库地址、账号、密码、数据库名、加密密钥
    安装 Typecho 后自动生成,备份博客必须备份这个文件;泄露会导致数据库被盗。
  2. admin/ 后台目录
    admin/
    ├── index.php # 后台入口
    ├── ...各种php页面
    访问你的域名/admin 进入博客后台;
    不要随意删除、修改里面文件,升级程序时覆盖此目录。
  3. var/ 程序核心框架目录
    Typecho 底层源代码,调度、数据库、路由、请求处理等核心类。
    日常使用基本不用修改;升级程序直接覆盖 var 文件夹。
  4. usr/ 用户目录【最常用,90% 操作都在这里】
    plaintext
    usr/
    ├── themes/ # 主题目录
    ├── plugins/ # 插件目录
    ├── uploads/ # 上传附件(图片、文件)
    ├── cache/ # 系统缓存文件夹

4.1 usr/themes/
存放所有博客主题。
每个子文件夹 = 一套主题,例如:
usr/themes/xqdj/
一套主题内必备文件:
index.php 首页模板
post.php 文章详情页
sidebar.php 侧边栏
style.css 样式文件
functions.php 主题自定义函数
在后台「外观」切换主题,就是读取这个文件夹。

4.2 usr/plugins/
存放插件,一个文件夹 = 一个插件。
例如 usr/plugins/TeComment/
后台「插件」页面启用 / 禁用插件。

4.3 usr/uploads/
你在编辑器上传的图片、压缩包、附件全部存在这里。
搬家、备份一定要复制这个文件夹!

4.4 usr/cache/
系统缓存目录:模板缓存、数据缓存。
出现页面错乱、修改主题不生效时,可以清空 cache 内所有文件(不要删除文件夹本身)。

  1. index.php(网站前台入口)
    所有博客前台页面(首页、文章页、分类、搜索)都由它分发请求,不要删除。
  2. install.php 安装文件
    首次访问自动运行安装向导;
    安装完成强烈建议删除或重命名,防止他人重复安装覆盖你的博客。

安装博客;

虚拟主机/宝塔面板/教程
服务器/虚拟主机支持 PHP7.4~8.1(推荐7.4,Typecho1.2最高兼容8.1,不建议8.2+)
MySQL/MariaDB 数据库
域名解析到主机,网站根目录可访问

1,网站 → 添加站点,输入域名,创建数据库(记录:数据库名、账号、密码)
2,进入网站根目录 www/你的域名/,进行访问能通,删除默认的4个文件,
3,上传typecho.zip并解压(解压后,把里面所有文件直接放到网站根目录,不要套多层文件夹!)

虚拟主机;
FTP 连接,把解压后的全部文件上传到主机 web 根目录(public_html /wwwroot)

宝塔直接在文件管理器设置;虚拟主机 FTP 修改权限
usr/ 整个文件夹:755
usr/cache/、usr/uploads/:777
Linux 权限说明:777 用于读写缓存、上传图片;Windows 主机无需设置权限

4,浏览器访问你的域名,自动跳转到你的域名/install.php(如果没跳转,手动打开 域名/install.php),填写前面保存的数据库信息,
GD 库没开启 → 宝塔网站设置→PHP 版本→安装扩展 gd
PDO MySQL 未开启 → PHP 扩展勾选 pdo_mysql
5,设置管理员信息,站点名称、管理员账号、密码、邮箱。记录好!登录后台要用
6,伪静态三种环境配置;
Nginx(宝塔 Nginx 默认)网站配置 → 伪静态,粘贴:

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
}

Apache(虚拟主机常用)根目录新建 .htaccess 文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
</IfModule>

宝塔 LiteSpeed
同 Apache 规则,使用.htaccess
设置完成后后台开启伪静态:
后台 → 设置 → 永久链接,选择任意非默认格式,保存。

备份博客

1,config.inc.php 配置
2,usr/ 整个文件夹(主题、插件、图片附件、缓存)
3,数据库 SQL 备份(phpmyadmin 导出,文章数据存在数据库,不在文件里!)
文章、评论、分类、标签保存在 MySQL 数据库,不在网站文件目录!只拷贝文件不备份数据库,迁移后看不到文章!