Answers:
drupal_goto()
接受$options
要传递给url()
函数的参数。您可以像这样传递查询字符串:
$options = array('query' => array('foo' => 'bar'));
drupal_goto('path', $options);
该示例将转发到/ path?foo = bar
drupal_goto()
,只是根据提供的参数构建一个URL,然后由它header()
自己调用。主要的区别在于,它drupal_exit()
被称为给脚本一个干净的出口,如果$_GET['destination']
被设置,它将覆盖您传递给函数的路径。通常drupal_goto()
应该使用,但在某些情况下,年龄header()
较大的人更合适。只取决于您需要做什么
这与克莱夫的答案相同。这是正确的IMO,但我只是想添加适合您的用例1:1的答案。
$options = array('query' => drupal_get_query_parameters());
drupal_goto(current_path(), $options);
您想呼叫drupal_goto()
与当前位置相同的位置。
mysite.com/node/add/dispo?arg1=1&arg2=2
current_path()返回node / add / dispo; drupal_get_query_parameters()返回$_GET
除$_GET['q']
内部路径节点/添加/ 分配外的所有参数。
当您调用时drupal_goto()
,Drupal可以重建相同的URI以将用户发送到。
其实我通过使用使其工作 header("location: " . $base_path . request_uri());