Вам необходимо url-кодировать каждый компонент в строке запроса.
Первый параметр id=1
в порядке, но параметр destination
содержит специальные символы, используемые для разделения компонентов uri: /
, ?
, =
.
Вы можете использовать urlencode()
или rawurlencode()
:
$node_alias = '/node/add/page?id=1&destination=' . rawurlencode('/admin/content?id=1')
Существует дружественный способ сделать это, используя drupal_http_build_query()
(d7):
$path = current_path();
$params = drupal_get_query_parameters() + array('destination' => '/admin/content?id=1');
$query = drupal_http_build_query($params);
$node_alias = $path . '?' . $query;
См. Также urlencode и rawurlencode?