2012-11-05 378 views
10

爲我的AdWord廣告系列生成網址,並且一些廣告系列名稱的括號中包含()[ ]括號。而一個樣本url看起來像這樣在URL中有括號可以嗎?

http://www.website.com/?utm_source=google%5BB%2B%5D&utm_medium=cpc&utm_content=google_ad(B)&utm_campaign=product 

這樣好嗎?

+6

'()'被稱爲括號。 –

+1

「罰款」是什麼意思? – Kinected

+6

@JohnWoo嗨,把它們稱爲括號不正確嗎? –

回答

10

圓括號「()」可以在URL的查詢部分用作這樣(即,之後的部分「?」)。將%編碼爲「%28」和「%29」是允許的,但不是必需的。

在查詢部分,括號「[]」應爲%編碼,即「%5B」和「%5D」。

實際存在的實際URL爲www.website.com的示例URL(請使用www.example.com作爲虛擬域名,它保證不存在),因此可以正確形成。

URL語法的一般規則在Internet標準STD 66中定義,該標準當前爲RFC 3986。其附錄A規定了字符規則,列出括號爲屬於「子界限」組,在查詢部分中不允許使用%-encoding,但括號屬於應編碼%的「gen-delims」。

+0

爲什麼當我在論壇的括號中發佈URL時,括號(幸好)不會被解釋?這是否是網站的非標準設計選擇,以反映海報與我一樣的可能性? –

3

噢,它是「很好」(Kinected也問:什麼是罰款?)括號,但可能不是方括號。但是如果您害怕,請始終使用urlencode作爲查詢字符串。

<?php 
echo "http://www.example.com/index.php?boo=",urlencode("sample(parenthesis)and[square_brackets]"); 
//http://www.example.com/index.php?boo=sample%28parenthesis%29and%5Bsquare_brackets%5D 

演示:http://codepad.org/ZKaROUr7

相關問題