9

I recently needed to do a redirect in php using:

header("Location: http:/relative/path");

which seems to work in all the browsers I have available to me (Safari, Chrome, Firefox). This also works when used in a standard link:

<a href="http:/relative/path">Link to relative path</a>

My question is whether this is a fluke, or a formal implementation. I need to confirm to my superiors that this is a known standard.

Thanks!

4

1 回答 1

5

根据RFC 3986的第 4.2 节或附录 A:

URI = 方案“:”层次部分 [“?” 查询] [“#”片段]

其中,hier-part 可以是“//”,表示权限路径-abempty、“/”路径-绝对、无根路径或路径空。

如果您考虑一下,当您使用“http://”时,“//”表示可用路径的根。这就是为什么不同的协议方案不像 Skype 那样需要它。它使用“skype:echo123?call”,它将调用用户“echo123”。不需要“//”,因为没有“根”。

所以是的,它是有效的。但由于该确切用法与当今浏览器中的正常模式设置有些不同,因此您的里程可能会有所不同。它确实在IE9中工作。

于 2013-08-22T16:27:09.927 回答