子域名
每条短链接都可以通过独立子域名访问:注册 promo 后,https://promo.inkpage.link 会跳转到目标链接,并保留完整的链接流程(密码、不安全确认、按国家分流、隐匿与分析)。
创建子域名
- 打开 Dashboard → 管理 → 域名
- 点击 新建子域名 → 输入标签(DNS 规则:1–63 个字符,字母、数字和中间的连字符)
- 选择目标:
- 新建链接 → 粘贴目标 URL;短链接会在同一个事务里创建,并像其他链接一样出现在链接面板中。短链码由系统生成,不需要手填。
- 已有链接 → 从可搜索列表中选择
- 复制生成的 URL,在任何地方使用
两种目标互斥:POST /api/domains/create 只接受 slug 或 url 之一,不能同时传。 一步创建除了 domains:create 还需要 links:write,因此子域名无法用来创建调用方本身无权创建的链接。
子域名通过外键指向它所对应的链接。当标签已存在,或链接插入与域名插入没有同时成功时,什么都不会写入。
链接选择器只列出未过期的链接,因此子域名不可能指向一个不存在的目标。在链接面板中,链接的操作菜单也提供 添加子域名,会打开同一个表单并预先选中该链接。
子域名可以随时暂停(保留待后续使用)或删除。保留的基础设施名称(如 www、api、admin)会被拒绝, 并且子域名只能指向未过期的链接。
解析方式
- 只管理
inkpage.link的子域名;主域继续正常提供面板和基于路径的短链接。 - 子域名上的路径会被忽略 —— 任何路径都解析到目标链接,这样密码表单和危险确认表单在子域名自身上依然能正常工作。
www.inkpage.link会永久重定向到主域。- 未知或已暂停的子域名返回 404,而不会反射应用页面。
权限
列出需要 domains:read(所有角色);创建、暂停、恢复和改指向需要 domains:create; 删除需要 domains:delete —— 两者都授予管理员、超级管理员和高级用户(高级用户仅限自己的子域名)。 一步创建路径额外需要 links:write。每一次变更都会写入审计日志。
本地测试
浏览器会把任意 *.localhost 名称解析到回环地址,因此本地子域名无需改动 DNS 即可使用: 运行 pnpm dev 并打开 http://promo.localhost:7465。
生产环境路由
wrangler.jsonc 已经把 *.inkpage.link/* 路由到 Worker,且 Cloudflare 区域的通配符证书覆盖该主机, 因此首次部署之后无需额外的 DNS 或 TLS 配置。