为我的URL缩短器添加自定义URL支持

时间:2017-02-02 13:48:08

标签: php mysql database algorithm url

我使用Stack Overflow中所述的双射函数算法构建了一个URL缩短器。我的数据库表有两列; IDURL。对于每个输入URL,ID会自动递增,其值将转换为base62。该值形成缩短链接的slug。

示例:如果ID42,则其base62格式为g(可能因字母集而异)。因此,缩短的网址为https://example.com/g

现在,我想添加自定义网址支持,用户可以选择自定义网址。我可以创建另一个表来存储自定义URL,然后检查两个表以查找匹配的slug。但这似乎效率很低。

任何人都可以提供有效的解决方案吗?

P.S。我正在使用PHP和MySQL。

1 个答案:

答案 0 :(得分:0)

你可以将slug反向映射到它自然生成时会占用的相应ID,只需记住这一点:

在增加您的ID变量之前,您可以确保输入与该ID相对应的slug的人员尚未填充它将增加的条目,如果是这样的话,只需继续增加ID列,直到您找到一个新的独特价值。