我的脚本生成了一个非常长的URL,就像下面的那个一样,我想知道如何通过算法或技术缩短它?
这是长网址: http://example.com/script.php?param1=value1¶m2=value2¶m3=value3¶m4=value4¶m5=value5
我想将它缩短为这样的东西: http://example.com/script.php?p=430x2920
如何通过缓存数据库的原始链接来完成此操作?
提前致谢。
答案 0 :(得分:1)
将静态值添加到$_SESSION[]
。
答案 1 :(得分:1)
您可以使用post作为您的值。但是如果你真的需要url里面的所有信息,我认为你应该开始实现url重写.... here是重写的开始。
答案 2 :(得分:1)
如果您不想使用数据库来存储缩短(散列)URL的查找表,那么您将不得不设计某种函数来将缩短的URL转换为完整的URL。
换句话说,您的全长网址必须具有可以压缩为较短网址的属性。
例如,我可以压缩以下网址
http://example.com/script.php?param1=saffron¶m2=sierra¶m3=4
到
http://example.com/script.php?p=p1.sa_p2.si_p3:4
如果我知道param1和param2只接受某些关键字,而param3只接受数字。
答案 3 :(得分:1)
您可以随时使用带分隔符的单个参数,然后将其拆分为代码。
http://example.com/script.php?p=1x2x3x4x5
使用x或任何你想要的东西,它不是作为分隔符的可能值的一部分。
答案 4 :(得分:0)
使用RESTful界面,而不是一堆查询参数。
存储将在服务器上的会话中保留的值,并由会话cookie键入。
答案 5 :(得分:0)
计算出一整套可能的值,并提出一种双向算法来编码/解码它们。
例如,如果你有3个参数并且它们只是单个数字整数,那么你可以使用?123并将每个字符拆分查询字符串来代替?param1 = 1& param2 = 2& param3 = 3参数。
这有多大可能完全取决于您期望的值。
答案 6 :(得分:0)
我通常会做这样的事情来减少参数:
您的链接:
http://example.com/script.php?param1=value1¶m2=value2¶m3=value3¶m4=value4¶m5=value5
我的最爱:
http://example.com/script.php?params=value1,value2,value3,value4,value5
或 http://example.com/script.php?params=value1|value2|value3|value4|value5