Можно ли в скобках или в скобках указывать URL?

Im, создающий URL-адреса для моих кампаний AdWord и некоторых имен Campangin, содержит скобки в скобках ( ) и [ ]. И пример url выглядит очень нравится

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

Это хорошо?

Ответ 1

Круглые скобки "()" могут использоваться как таковые в части запроса URL (т.е. части после "?" ). Допустимо, но не обязательно, чтобы% -encode их, как "% 28" и "% 29".

Скобки "[]" должны быть% -кодированы, как "% 5B" и "% 5D", в части запроса.

Пример URL-адреса, который является настоящим URL-адресом как веб-сайт www.website.com, фактически существует (пожалуйста, используйте www.example.com как фиктивное доменное имя, оно, как гарантируется, не существует), таким образом, правильно сформировано.

Общие правила синтаксиса URL-адресов определены в стандартном стандарте STD 66, который в настоящее время RFC 3986. В Приложении А указаны правила для символов, в которых перечислены круглые скобки как принадлежащие к группе "поддеримы", которая разрешена без% -кодирования в части запроса, но скобки как принадлежащие к "gen-delims", которые должны быть% -кодированы.

Ответ 2

О, это "отлично" (поскольку 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