If you must redirect a user from one web page to another using PHP, you may use the header function.
By definition, the PHP header function sends the raw HTTP header to a client. A simple example of redirecting by header function is:
<?php header('Location: http://www.google.com/'); ?>
A few points should be noted as using the header function:
- You should call the header function before any output e.g. using echo, HTML tags, etc. are sent to the browser.
- If you are using HTML code then it should be used before <!DOCTYPE> declaration.
- You must provide the absolute URL in the header function, otherwise, an error is generated. See the examples section below.
- You should use either exit() or die() after the header() function.
The example of redirecting to another URL
As you execute this code, you will be redirected to “google.com” by using the header function with the “Location:” header.
Copy the code in your IDE and execute in your local machine with PHP 4, 5, or 7 configured:
<?php header('Location: http://www.google.com/'); exit() ?>
The 301 response code specifies permanent redirect.
So, if you use the header function without specifying the HTTP response code then search engines (Google, Bing, etc.) take this as a temporary redirect. This may be useful if you are redirecting the users to another page while the current page/website is under maintenance or down for some reason.
If you have optimized the calling page with SEO then it may pass the page rank (link juice) to the new URL (as per latest documentation). However, if you are sure the redirect is permanent then you should specify 301 redirect so the redirected page gets all the effort you put on the calling page.
The example code for redirecting permanently:
<?php header('Location: https://www.jquery-az.com', true, 301); exit; ?>
For sending the 503 response code, the sample code is:
<?php header('Location: http://www.jquery-az', true, 503); exit; ?>
You may learn more about the HTTP /1.1 status code here.