V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KinneyZhang
V2EX  ›  分享发现

静态博客可以做短链接吗,实现原理是什么?

  •  
  •   KinneyZhang · 2020-04-29 16:29:05 +08:00 via iPhone · 2448 次点击
    这是一个创建于 1661 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次分享博客文章时,链接太长了,想请教大家静态博客怎么最短链接,有没有现成的解决方案?没有的话,短链接的实现原理是什么?我看可以自己搞一个。

    顺便提一下我的博客: https://geekinney.com/

    有 emacs 用户吗?哈哈哈~

    23 条回复    2020-04-30 19:09:34 +08:00
    zhaopengme
        1
    zhaopengme  
       2020-04-29 16:51:39 +08:00   ❤️ 1
    js 加密解密
    HENQIGUAI
        2
    HENQIGUAI  
       2020-04-29 16:53:17 +08:00   ❤️ 1
    首先,你要拥有一个短域名
    jekyll
        3
    jekyll  
       2020-04-29 16:58:30 +08:00   ❤️ 1
    其次,你需要 YOURLS
    B1ankCat
        4
    B1ankCat  
       2020-04-29 17:17:34 +08:00
    只会 c-t h
    KinneyZhang
        5
    KinneyZhang  
    OP
       2020-04-29 17:21:04 +08:00 via iPhone
    @HENQIGUAI #2 哈哈,这个没得办法😂,没钱,,
    opengps
        6
    opengps  
       2020-04-29 17:22:33 +08:00   ❤️ 1
    本质就是个跳转,所以做起来很简单,我甚至给自己扩展了一些其他功能
    KinneyZhang
        7
    KinneyZhang  
    OP
       2020-04-29 17:25:45 +08:00
    @jekyll 谢谢,看了下这个需要 PHP 和 mysql,不想搞这么麻烦~
    rayhy
        8
    rayhy  
       2020-04-29 17:27:43 +08:00 via Android   ❤️ 1
    用 serverless 吧。netlify,now.sh 这些都支持
    KinneyZhang
        9
    KinneyZhang  
    OP
       2020-04-29 17:28:22 +08:00
    @B1ankCat C-t h 是什么操作? C-h t 吧,查看 tutorial 。
    KinneyZhang
        10
    KinneyZhang  
    OP
       2020-04-29 17:28:51 +08:00
    @zhaopengme 能否具体说说~
    KinneyZhang
        11
    KinneyZhang  
    OP
       2020-04-29 17:33:38 +08:00
    @rayhy 这是个静态博客生成器吧,我的博客使用自己开发的 emacs package 搭建的,大概率不会换 workflow 。主要想了解短链接原理然后自己实现,集成到 package 里。
    KinneyZhang
        12
    KinneyZhang  
    OP
       2020-04-29 17:34:44 +08:00
    @opengps 大佬能够具体说说?
    yeqizhang
        13
    yeqizhang  
       2020-04-29 17:42:19 +08:00 via Android   ❤️ 1
    应该可以的,js 根据域名后面的路径,根据规则跳转到长地址。
    这样只能写死在 js 代码里,然后最后浏览器显示还是长地址。
    Tink
        14
    Tink  
       2020-04-29 17:43:16 +08:00
    找个 api,有现成的
    KinneyZhang
        15
    KinneyZhang  
    OP
       2020-04-29 17:47:25 +08:00
    @yeqizhang 谢谢,我明白了。可以将长短链接的对应关系写在文件里,然后 js 读取匹配,不知是否可行?
    KinneyZhang
        16
    KinneyZhang  
    OP
       2020-04-29 17:48:01 +08:00
    @Tink 什么现成的 api ?
    yeqizhang
        17
    yeqizhang  
       2020-04-29 17:51:51 +08:00 via Android
    @KinneyZhang 可以的,独立文件你要写成 js 变量,赋值 json 对象,例如 var mapper =
    {"/a":"/sys/manage"}这样
    dorothyREN
        18
    dorothyREN  
       2020-04-29 17:58:45 +08:00   ❤️ 1
    直接用新浪的短链接不行吗?
    KinneyZhang
        19
    KinneyZhang  
    OP
       2020-04-29 18:00:40 +08:00
    @yeqizhang 好的,谢谢!在 emacs 中我可以写 elisp 自动生成。有没有好的生成唯一序列的工具推荐?
    KinneyZhang
        20
    KinneyZhang  
    OP
       2020-04-29 18:05:31 +08:00
    @dorothyREN 我想保留自己的域名只是文章的 slot 缩短。
    SamsonWang
        21
    SamsonWang  
       2020-04-29 19:42:10 +08:00
    V 站 emacs 用户不多,见到一个真是不容易啊
    KinneyZhang
        22
    KinneyZhang  
    OP
       2020-04-29 20:19:20 +08:00
    @SamsonWang 哈哈,emacs 用户都在 https://emacs-china.org
    baobao1270
        23
    baobao1270  
       2020-04-30 19:09:34 +08:00
    先按照日期时间对博客文章排序,然后把序号做 base62,然后生成诸如 <网站根目录>/s/<base62>/index.html 的文件,文件内容就一行:

    <meta http-equiv="refresh" content="1;url=要跳转到的地址">

    这样你访问 yourdomain/s/<base62> 的时候就可以自动跳转了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1320 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 23:57 · PVG 07:57 · LAX 15:57 · JFK 18:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.