2010-04-03 28 views
36

我使用bit.ly來縮短我的網址。 我的問題 - 參數不通過。 讓我解釋我使用http://bit.ly/MYiPhoneApps哪些重定向(比方說)到http://iphone.pp-p.net/default.aspx 現在,當我嘗試http://bit.ly/MYiPhoneApps?param=xx這個參數不會被添加到生成的網址。 我知道我可以創建一個額外的「short url」,包括一個參數 - 所以http://bit.ly/WithParam將導致http://www.mysite.com/somepath/apage.aspx?Par1=yy等等。URL縮短器可以傳遞參數嗎?

但我想要的是有一個簡短的網址指向一個頁面 - 然後我想爲這個縮短的網址添加一個參數 - 哪個(當然)落在我的頁面上。

這是一個bit.ly(而其他人也許能夠做到這一點) - 或者「參數轉發」不適用於301重定向?

曼弗雷德

回答

16

沒有技術上的原因,爲什麼它無法完成。該服務只需查看它正在發送的參數,然後相應地重寫目標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以檢查參數,並追加部分被調用的URL。這需要每個重定向更多的系統資源,如果您的服務被頻繁使用,這可能會成爲一個大問題 - 您需要更多的服務器電源來處理相同數量的重定向。我不認爲這種權衡被認爲是「值得」的。

+7

我希望它成爲'foo = bar&foo = baz',FWIW(添加到短url的參數應該位於long url的所有參數部分之後)。我認爲這在大多數情況下會產生理智的結果。 – 2010-04-03 22:03:54

+1

所以它是技術性的(我認爲)可能 - 但某種「後勤」或「如何處理」的問題。如果有人知道一個(穩定)服務允許參數添加請讓我知道。 – ManniAT 2010-04-04 08:26:25

3

URL縮短同事基於一個完整的URL(參數等等)的唯一密鑰,所以它是不可能的參數傳遞到縮短服務。

通常

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

必須產生一個不同的密鑰對

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

「參數轉發」簡單地是在這些類型的重定向不可能的,因爲參數不是有效部分縮短的URL是大多數(如果不是全部的話)服務。

+3

當然它是*可能*。 OP的目的不是讓兩個目標URL映射到完全相同的短URL - 一個鍵仍然只映射到一個目標。他只是希望服務使用* additional *信息提供的參數來操作目標。這兩件事情完全不同。 – 2010-04-03 22:12:16

+2

當然,這是可能的 - 如果你是服務提供商,並建立你的服務來允許。但是OP在具體討論bit.ly。並且bit.ly也沒有任何其他目前的URL縮短服務,我知道它支持短URL上的參數轉發。 – 2010-04-03 22:27:02

相關問題