Появилась необходимость создать сниппет для сокращения ссылок через bit.ly. Код рабочий, но возникла проблема для ссылок вида
http://domain.ru/news/?action=view&id=xxxx. Дело в том, что до сервиса доходит ссылка
http://domain.ru/news/?action=view , то есть съедается все после знака &. Практически весь контент сайта на подобных ссылках. Перейти на адекватные ссылки планируется, но намного позже. Сайт на базе MODx Evolution. Код сниппета:
$url = "http://domain.ru/news/?action=view&id=$_GET[id]";
$bitlylogin = "login";
$bitlyapikey = "R_68bd1f9d0xxxx184cfa6xxx426eb";
$bitly = BitURL($url, $bitlylogin, $bitlyapikey);
echo $bitly;
function BitURL($url, $bitlylogin, $bitlyapikey){
$returnxml = file_get_contents(’http://api.bit.ly/shorten?version=2.0.1&longUrl=’.$url.’&login=’.$bitlylogin.’&apiKey=’.$bitlyapikey.’&format=xml’);
$result = new SimpleXMLElement($returnxml);
return $result->results->nodeKeyVal->shortUrl;
}
Подскажите, пожалуйста, как можно решить/обойти эту проблему?
PS пробовал менять в сниппете &id на ?id и в .htaccess прописывать редирект, но не вышло. Хотелось бы найти решение попроще =)
Заранее благодарен