Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
473 views
in Technique[技术] by (71.8m points)

php - Header Location relative path compatibility

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...