Совместимость относительного пути расположения заголовка

Это Относительное местоположениеаголовок @ html абсолютно совместим со всеми браузерами на всех платформах? Какие-нибудь стандарты?

<code>Location: some_script.php?la=2&po=2030
</code>

Я имею в виду, он всегда будет перенаправлять на some_script.php в текущем каталоге или нет?

 1168410 мая 2012 г., 22:18
поскольку это PHP, браузер даже не узнает о заголовке, он просто замечает, что он перенаправляется, потому что PHP выполняется на сервере.
 webbiedave10 мая 2012 г., 22:21
@ 11684: браузер клиента обязательно получит заголовок Location. Как еще, по вашему мнению, он решает изменить свое местоположение?
 David Bélanger10 мая 2012 г., 22:23
@ 11684 Ты неправ. PHP выполняется на сервере, да. Но PHP отправляет заголовок браузеру (клиенту), и клиент делает с ним все, что хочет.
 1168410 мая 2012 г., 22:36
@ DavidBélanger Я этого не знал, спасибо, что научили меня чему-то!

Ответы на вопрос(1)

Решение Вопроса

Стандарт будет таким:

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.

 David Bélanger10 мая 2012 г., 22:57
@ abrahab Я не знаю, понимаю, почему проблема заключается в наличии полного URL-адреса в подпапке локального компьютера?
 jordanbtucker05 дек. 2014 г., 01:12
Спецификация HTTP была обновлена, чтобы разрешить относительные URI для значения заголовка Location. Tools.ietf.org / html / rfc7231 # раздел-7.1.2
 David Bélanger10 мая 2012 г., 22:21
Хорошо. Тогда я предлагаю вам взглянуть на Tools.ietf.org / html / RFC2616 # раздел-10.3.3 Хороший, лучший и предполагаемый способ работы - вам необходимо предоставить полный URL.
 abrahab10 мая 2012 г., 22:20
да, я уже используюотносительны вариант и его работа для меня, но я сомневаюсь, что он не работает для всех пользователей. Я могу добавить add url, чтобы получить абсолютный путь, но это создаст некоторые проблемы для отладки этого sctipt на локальном компьютере, потому что на нашем some_script.php всегда в Domain.com / some_script.php и не проблема добавить SERVER_HOST в URL, но на локальном компьютере скрипт в подпапке ...

Ваш ответ на вопрос