标题位置相对路径兼容性

abr*_*hab 27 html php redirect header

这个相对位置的 html标题是否与所有平台上的所有浏览器完全兼容?有标准吗?

Location: some_script.php?la=2&po=2030
Run Code Online (Sandbox Code Playgroud)

我的意思是,它总是会重定向到当前目录的some_script.php吗?

Dav*_*ger 22

标准是这样的:

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

但是要回答你的问题,是的,如果你没有在第一个或完整的URL放置斜杠,它将重定向到当前文件夹中的页面X.

这是我建议你为你做的每个网站做的一个想法.在你的主文件(你使用的主要php文件,如配置或其他),创建这样的东西:

define('URL', 'http://www.mywebsite.com/');
Run Code Online (Sandbox Code Playgroud)

因此,当您创建重定向,链接或其他任何内容时,您执行此操作:

header('Location: '.URL.'yourpage.php?id=32', TRUE, 302);
Run Code Online (Sandbox Code Playgroud)

编辑:2017年11月.正如下面@jordanbtucker所指出的,HTTP规范已在2014年6月更新(此帖子是从2012年开始),以允许位置标头中的相对URI.

  • HTTP规范已更新,以允许相对URI的Location头的值.http://tools.ietf.org/html/rfc7231#section-7.1.2 (8认同)