【问题标题】:How to have a short id in a link (Coldfusion)如何在链接中使用短 id (Coldfusion)
【发布时间】:2020-09-04 22:52:10
【问题描述】:

我正在尝试构建我们自己的内部 URL 缩短服务,因为显示许多主要的 URL 被阻止为垃圾邮件(我们现在使用 bit.ly)。

我想做的是有一个附加了 id 的 URL,它会点击一个页面,查找长 URL,然后将其转发给它。除了第一部分,我什么都好。

这是我想发送的 URL:http://acbd.us/1234567 或 http://acbd.us?1234567,其中 1234567 是我们需要查找的 id。我已经在其他网站上看到了这一点,但只是不知道如何在不引用文件的情况下进行操作(lookup.cfm?id=1234567)。关键是让它尽可能短。

我一直在搜索 Stack 和其他地方,但找不到任何东西。

感谢您的反馈,我们将不胜感激。

【问题讨论】:

标签: redirect hyperlink coldfusion cfml short-url


【解决方案1】:

http://acbd.us?1234567 更容易实现。

  1. 可以使 IIS 等 Web 服务器自动将其与默认文档相关联。所以它变成了

    http://acbd.us/index.cfm?1234567

  2. 虽然我们经常将?之后的部分关联为定义url变量,但它也是cgi.query_string的一部分

因此,基于此,您可以执行类似的操作

index.cfm

<cfscript>
    newloc = QueryExecute("
      SELECT newloc
      FROM lookup
      WHERE shortversion = :shortversion
      ",
      {shortversion = { value : cgi.query_string, CFSQLType : 'CF_SQL_varchar'}},
      { cachedwithin : CreateTimespan(1,0,0,0)}
      ).newloc;

    location(newloc, false);
</cfscript>

我们想缓存一天,因为

  1. 它不应该改变和
  2. 它需要是基础和
  3. 这是非常小的数据

【讨论】:

  • 詹姆斯你是国王!!!!效果很好。非常感谢!
【解决方案2】:

如果您不知道如何制作自己的 URL Shorteners,有很多免费的自托管选项。

https://github.com/awesome-selfhosted/awesome-selfhosted#url-shorteners

【讨论】:

  • 是的,我知道,bilty 一直很棒。但是我们被其他促使我们这样做的提供阻止了。谢谢
  • 很高兴它成功了。接受的答案检查总是受到赞赏。它让未来的人们知道这是最好的解决方案。
  • 我会马上做吗?我该怎么做?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 2020-01-10
  • 2011-01-14
相关资源
最近更新 更多