Header Location relative path compatibility

62,406

The standard would be this:

header('Location: http://www.mywebsite.com/yourpage.php?id=32', TRUE, 302);

But to answer your question, yes it will redirect to the page X in the current folder if you don't put a slash at first or a complete URL.

Here's an idea I would suggest you do for every website you do. In your primary file (the main php file you use like config or whatever), create something like that :

define('URL', 'http://www.mywebsite.com/');

So when you create a redirection, a link or whatever, you do this :

header('Location: '.URL.'yourpage.php?id=32', TRUE, 302);

EDIT: November 2017. As pointed by @jordanbtucker below, the HTTP spec has been updated in June 2014 (this post is from 2012) to allow relative URIs in the Location header.

Share:
62,406
abrahab
Author by

abrahab

Updated on November 20, 2020

Comments

  • abrahab
    abrahab over 3 years

    Is this relative location html header absolutely compatible with all browsers at all platforms? Any standards ?

    Location: some_script.php?la=2&po=2030
    

    I mean, will it always redirect to some_script.php at the current dir or not?