Как получить полный 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 & amp; value2 = value .

Как я могу это сделать?

7 uri
26 голосов | спросил abd 9 PMpMon, 09 Apr 2012 16:20:07 +040020Monday 2012, 16:20:07

5 ответов


28

Вы пытались использовать request_uri () ?

  $ _ SERVER ['HTTP_HOST']. REQUEST_URI ();
 

Он должен сделать трюк. Я сам не пробовал, и я могу быть немного, но я предлагаю вам попробовать. Из JavaScript вы можете использовать переменную window.location.href .

ответил optimusprime619 9 PMpMon, 09 Apr 2012 16:40:36 +040040Monday 2012, 16:40:36
18

Вот как получить абсолютный URL для текущей страницы, используя API Drupal:

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

Если вам нужны дополнительные (не-q) параметры querystring, вы можете использовать:

  $ current_url = url (current_path (), array ('absolute' => TRUE,
                                         'query' => drupal_get_query_parameters ()));
 
ответил David Thomas 29 62014vEurope/Moscow11bEurope/MoscowSat, 29 Nov 2014 10:44:15 +0300 2014, 10:44:15
7

Вы можете использовать следующий код.

  глобальный $ base_root;
$ current_url = $ base_root. REQUEST_URI ();
echo $ current_url;
 
ответил kumar 10 Maypm13 2013, 15:38:51
3

Попробуйте переменную $ base_url , которая предоставляет URL-адрес установки Drupal без «/» и current_path () возвращает путь текущей просматриваемой страницы.

  global $ base_url;
$ current_path = $ base_url. '/'. current_path ();
 
ответил Yogesh 7 Maypm14 2014, 13:32:10
0

Я думаю, что лучший способ сделать это - использовать API-интерфейс url (), как этот

  url ('your /drupal /path', array ('absolute' => TRUE));
 
ответил Roberto Peruzzo 11 MonEurope/Moscow2017-12-11T13:48:39+03:00Europe/Moscow12bEurope/MoscowMon, 11 Dec 2017 13:48:39 +0300 2017, 13:48:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132