我使用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重定向吗?
曼弗雷德
答案 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)
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
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