Understanding PHP Superglobals and the $_SERVER Variable

PHP is a popular server-side scripting language used for web development. One of its unique features is the use of superglobals, which are special variables that are always accessible, regardless of scope. In this article, we will dive into one of these superglobals, the $_SERVER variable, and explore its properties and uses.

What is the $_SERVER Variable?

The $_SERVER variable is an array that contains information about the server and environment in which the current script is being executed. It includes information such as headers, paths, and script locations, as well as system environment variables. The following are some of the commonly used properties of the $_SERVER variable:

  • $_SERVER['HTTP_HOST']: returns the hostname and port number of the server.
  • $_SERVER['REQUEST_URI']: returns the requested URL.
  • $_SERVER['QUERY_STRING']: returns the query string part of the URL.
  • $_SERVER['HTTP_REFERER']: returns the URL of the page that referred the current script.

Using $_SERVER for URL Redirection

One common use of the $_SERVER variable is for URL redirection. For example, you can use the following code to redirect the user to a different page:

header('Location: https://www.example.com/');

In this example, the header function is used to send a raw HTTP header to the browser, telling it to redirect to the specified URL. The exit statement is then used to halt the execution of the script, preventing any further output from being sent to the browser.

$_SERVER for Error Handling

Another use of the $_SERVER variable is for error handling. For example, you can use the following code to display a custom error page for 404 errors:

if (http_response_code() == 404) {
  header('Location: https://www.example.com/404.html');

In this example, the http_response_code function is used to retrieve the current HTTP response code. If the code is 404 (page not found), the user is redirected to the custom error page.


In conclusion, the $_SERVER variable is a powerful tool for web developers, allowing them to access important information about the server and environment in which their scripts are being executed. Whether you're using it for URL redirection, error handling, or other purposes, understanding and utilizing the properties of the $_SERVER variable can greatly improve the functionality and reliability of your PHP scripts.

Practice Your Knowledge

What information can PHP $_SERVER superglobal variable provide?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.

Do you find this helpful?