Является ли это относительное местоположение html-заголовком абсолютно совместимым со всеми браузерами на всех платформах? Любые стандарты?
Location: some_script.php?la=2&po=2030
Я имею в виду, всегда ли он перенаправляется на some_script.php в текущем каталоге или нет?
Стандартом будет следующее:
header('Location: http://www.mywebsite.com/yourpage.php?id=32', TRUE, 302);
Но чтобы ответить на ваш вопрос, да, он будет перенаправлен на страницу X в текущей папке, если вы не поместите косую черту сначала или полный URL.
Вот идея, которую я предлагаю вам сделать для каждого сайта, который вы делаете. В основном файле (основной файл php, который вы используете как config или что-то еще), создайте что-то вроде этого:
define('URL', 'http://www.mywebsite.com/');
Поэтому, когда вы создаете перенаправление, ссылку или что-то еще, вы делаете это:
header('Location: '.URL.'yourpage.php?id=32', TRUE, 302);
EDIT: ноябрь 2017. Как указано в @jordanbtucker ниже, спецификация HTTP была обновлена в июне 2014 года (это сообщение с 2012 года), чтобы разрешить относительные URI в заголовке Location.
Я задал этот вопрос : http: / relative / path официально работает? и получил ответ, который ссылается на стандарты (обратите внимание на одну косую черту в http: / address)