# 家书 FamilyBook · Apache 重写规则
#
# ⚠️ 这个文件**不随包上线**（familybook_push.sh 的打包白名单里没有它）。
#    原因：线上站点根那份 .htaccess 是**宝塔面板生成的**（PHP 版本段、防盗链、
#    缓存段、伪静态…），整份覆盖会把面板的东西清空，而且面板下次重写还会改回来，
#    变成"时好时坏"。
#    /dav/ 的重写规则由 `familybook_deploy.sh` 第 5c 段**追加**到线上那份里
#    （带 `# >>> FamilyBook CalDAV` 标记，幂等）。
#
#    那这份文件是干什么用的？
#      · 新建站点（没有宝塔那层）时，可直接把它作为站点根的 .htaccess；
#      · 它是那段规则的**唯一书面来源**，push 脚本会断言部署脚本里的规则串
#        与它完全一致（防两处漂移）。
#
# 只做一件事：把 /dav/ 开头的 URL 交给 dav.php。
# 其余一律不动 —— index.php 那套 ?r=xxx 路由不依赖重写，
# 少写规则就少一处"上线才发现 404"的地方。

<IfModule mod_rewrite.c>
  RewriteEngine On

  # CalDAV：/dav/、/dav/3.ics/、/dav/3.ics/12.ics 全部交给 dav.php
  RewriteRule ^dav(/.*)?$ dav.php [L,QSA]
</IfModule>

# 备份/临时文件永远不给出去（这条线上很要紧：*.php.bak 曾经可被直接下载）
<FilesMatch "\.(bak|old|orig|save|swp|swo|tmp)$">
  Require all denied
</FilesMatch>
<FilesMatch "^\.|~$">
  Require all denied
</FilesMatch>
