短链接服务看似简单,实际上在日常分享中非常实用。长链接发到微信、贴在二维码里都不方便,自己搭一个短链接系统,数据掌握在自己手里,还不用花钱买第三方服务。
核心思路
上传文件 → 生成随机短码 → 建立映射关系 → Nginx 重写规则转发。
第一步:设计映射存储
用 JSON 文件存储短码和真实路径的对应关系,简单直接,无需数据库:
{
"abc123": "我的文件.pdf",
"xyz789": "图片.png"
}第二步:编写上传接口
PHP 接收文件上传,生成 6 位随机短码,写入 JSON,返回短链接地址。关键代码逻辑:接收文件 → 校验类型 → 生成唯一短码 → 更新映射表。
第三步:配置 Nginx 重写
location ^~ /s/ {
try_files $uri $uri/ /s/index.php?$args;
}访问 https://你的域名/s/abc123 时,Nginx 交给 PHP 解析短码,读取映射表找到真实文件,302 重定向或直接输出。
第四步:管理界面
一个简单的 HTML 表格页面,列出所有映射关系,支持一键复制短链接、删除过期映射。配合简单的密码验证,防止被滥用。
进阶优化
- 添加访问次数统计
- 设置链接有效期,过期自动清理
- 生成二维码方便扫码访问
- 上传进度条提升体验
自建短链接总共不到 200 行代码,部署在一个 PHP 虚拟主机上就能跑。相比第三方短链接服务,你的数据不会被分析、不会过期、不会突然下线——这才是最靠谱的方案。