如果你停留在网站http://www.demo.com/demo/index.php。在这个页面中,有两个标签是<a href="link.php?id=1">first</a>
<a href="http://www.google.com">second</a>,当您单击"first“时,互联网地址是"http: //www.demo.com/demo.com/ click . why ?id=1”,但单击"second“为什么不是"http: //www.demo.com/demo/http://www.google.com”?我没有idea.but,我已经试过了
发布于 2014-11-20 07:16:45
URL有几个组件(例如方案、主机名、查询字符串)。
您可以从左边省略任意数量的URL,URL将相对于另一个URL进行解析。
link.php?id=1省略了表示路径顶部的方案、主机名和/,因此它相对于当前的URL被解析。
第二种方法从方案开始,因此不保留当前的URL。
如果您想要一个相对的URI到那里,那么您将使用一个点前缀,按照规范:
包含冒号字符(例如"this: that ")的路径段不能用作相对路径引用的第一段,因为它可能被误认为是方案名称。这样的段必须以点段(例如"./this:that")来进行相对路径引用。
有关进一步阅读,请参见URI规范。
https://stackoverflow.com/questions/27033794
复制相似问题