web-dev-qa-db-fra.com

Comment obtenir l'URL complète de la page actuelle?

J'ai besoin d'obtenir l'URL complète de la page actuellement ouverte. J'utilise le code suivant, mais il renvoie http://localhost/mysite/page_name.

$path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$link = url($path, array('absolute' => TRUE));

Il ne suffit pas que mon code se termine; Je souhaite obtenir les valeurs transmises avec l'URL sous la forme http://localhost/mysite/page_name/value1=value&value2=value.

Comment puis je faire ça?

32
abd

Avez-vous essayé d'utiliser request_uri () ?

$_SERVER['HTTP_Host'] . request_uri();

Cela devrait faire l'affaire. Je ne l'ai pas essayé moi-même et je suis peut-être un peu en retrait, mais je vous suggère d'essayer. Depuis JavaScript, vous pouvez utiliser le window.location.href variable.

32
optimusprime619

Voici comment obtenir l'URL absolue de la page actuelle, à l'aide de l'API Drupal:

$current_url = url(current_path(), array('absolute' => TRUE));

Si vous avez également besoin des paramètres de chaîne de requête supplémentaires (non q), vous pouvez utiliser:

$current_url = url(current_path(), array('absolute' => TRUE, 
                                         'query' => drupal_get_query_parameters()));
24
David Thomas

Vous pouvez utiliser le code suivant.

global $base_root;
$current_url = $base_root . request_uri();
echo $current_url;
7
kumar

Essayez $ base_url variable, fournit Drupal URL d'installation sans "/" et current_path () il retourne le chemin de la page en cours de visualisation.

global $base_url;
$current_path = $base_url . '/' . current_path();
3
Yogesh

Je pense que la meilleure façon de le faire est d'utiliser l'API url () comme celle-ci

url('your/drupal/path', array('absolute' => TRUE));
0
Roberto Peruzzo