web-dev-qa-db-ja.com

現在のページの完全なURLを取得するにはどうすればよいですか?

現在開いているページの完全なURLを取得する必要があります。次のコードを使用しますが、http://localhost/mysite/page_nameが返されます。

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

私のコードを完了するだけでは十分ではありません。 URLとともに渡される値をhttp://localhost/mysite/page_name/value1=value&value2=valueとして取得したい。

どうやってやるの?

32
abd

request_uri() を使用してみましたか?

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

トリックを行う必要があります。私自身は試したことはなく、少しずれているかもしれませんが、試してみることをお勧めします。 JavaScriptから、window.location.href変数。

32
optimusprime619

Drupal APIを使用して、現在のページの絶対URLを取得する方法は次のとおりです。

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

追加の(非q)クエリ文字列パラメーターも必要な場合は、以下を使用できます。

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

次のコードを使用できます。

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

$ base_url 変数を試して、「/」なしでDrupalインストールURLを提供します current_path() 表示されている現在のページのパスを返します。

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

そのための最善の方法は、次のようにurl()APIを使用することだと思います

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