URL缩短器可以传递参数吗?

时间:2010-04-03 21:37:27

标签: url redirect

我使用bit.ly来缩短我的网址。 我的问题 - 参数没有通过。 让我解释一下,我使用http://bit.ly/MYiPhoneApps重定向(让我们说)到http://iphone.pp-p.net/default.aspx 现在,当我尝试http://bit.ly/MYiPhoneApps?param=xx时,此参数不会添加到生成的网址中。 我知道我可以创建一个额外的“短网址”,包括一个参数 - 所以http://bit.ly/WithParam会导致http://www.mysite.com/somepath/apage.aspx?Par1=yy等等。

但我想要的是有一个简短的URL指向一个页面 - 然后我想在这个缩短的URL中添加一个参数 - 当然应该登陆我的页面。

这是bit.ly的缩写(其他人可能会这样做) - 或者“参数转发”不适用于301重定向吗?

曼弗雷德

3 个答案:

答案 0 :(得分:18)

没有技术上的原因导致无法完成。该服务只需要查看它发送的参数,然后相应地重写目标URL。

问题在于如何做到这一点并不一定明确。

假设您有网址http://example.com/default.aspx?foo=bar,并且网址为http://foo.com/ABCD。如果您尝试访问http://foo.com/ABCD?foo=baz会发生什么?它应该替换值,所以你得到foo=baz?是否应将其附加到foo=bar&foo=baz?如果我们包括两者,它们应该在哪个顺序?

系统无法知道哪些参数可以安全覆盖,哪些不可以,因为有时候,您确实需要在URL中同时使用这两个参数,并且可能需要添加哪些顺序。

你可以说“嗯,只是不允许这个参数已经存在的网址”,但是还有一个问题就是它会使这个过程变得更复杂。如果没有这个,您只需在数据库中查找密钥并发送重定向标头。现在,您还需要分析URL以检查参数,并附加您调用的URL的一部分。这需要每次重定向更多的系统资源,如果您经常使用您的服务,这可能会成为一个大问题 - 您需要更多的服务器电源来处理相同数量的重定向。我不认为这种权衡被认为是“值得的”。

答案 1 :(得分:3)

URL缩短根据完整的URL(参数和所有)关联唯一键,因此无法将参数传递给缩短服务。

典型地

http://iphone.pp-p.net/default.aspx?param=10

必须生成不同的

http://iphone.pp-p.net/default.aspx?param=22

'参数转发'在这些类型的重定向中根本不可能,因为参数不是缩短URL的有效部分,而是大多数(如果不是全部)服务。

答案 2 :(得分:1)

rinogo

的评论中所述

Clickmeter

Destination URL : www.yoursite.com?myparam1={id1}&myparam2={id2} 
Tracking link   : www.go.clickmeter.com/38w2?id1=123&id2=abc 
After click     : www.yoursite.com?myparam1=123&myparam2=abc

TinyUrl

Destination URL     : http://x.com?a=1
Shorten URL         : https://tiny url.com/y6gh7ovk
Shorten URL + param : https://tiny url.com/y6gh7ovk?a=2
Resultant URL       : http://x.com/?a=1&a=2

添加了空间来发布tinyurl