You are here

function request_uri in Drupal 7

Same name and namespace in other branches
  1. 4 includes/bootstrap.inc \request_uri()
  2. 5 includes/bootstrap.inc \request_uri()
  3. 6 includes/bootstrap.inc \request_uri()

Returns the equivalent of Apache's $_SERVER['REQUEST_URI'] variable.

Because $_SERVER['REQUEST_URI'] is only available on Apache, we generate an equivalent using other environment variables.

13 calls to request_uri()
DBLogTestCase::generateLogEntries in modules/dblog/dblog.test
Generates a number of random database log events.
DBLogTestCase::testDBLogAddAndClear in modules/dblog/dblog.test
Tests the addition and clearing of log events through the admin interface.
DBLogTestCase::testDBLogException in modules/dblog/dblog.test
Verifies that exceptions are caught in dblog_watchdog().
drupal_deliver_html_page in includes/common.inc
Packages and sends the result of a page callback to the browser as HTML.
drupal_fast_404 in includes/bootstrap.inc
Returns a simple 404 Not Found page.

... See full list

File

includes/bootstrap.inc, line 1901
Functions that need to be loaded on every Drupal request.

Code

function request_uri() {
  if (isset($_SERVER['REQUEST_URI'])) {
    $uri = $_SERVER['REQUEST_URI'];
  }
  else {
    if (isset($_SERVER['argv'])) {
      $uri = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['argv'][0];
    }
    elseif (isset($_SERVER['QUERY_STRING'])) {
      $uri = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'];
    }
    else {
      $uri = $_SERVER['SCRIPT_NAME'];
    }
  }

  // Prevent multiple slashes to avoid cross site requests via the Form API.
  $uri = '/' . ltrim($uri, '/');
  return $uri;
}